打印

串口的发送中断位(TI)问题

[复制链接]
1893|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
zfeng919|  楼主 | 2007-12-18 20:51 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
void main()
{
    uint8 i;
    while(1)
    {    
        for(i=0;i<5;i++)
        {
            SBUF=date;
            while(TI==0);
            TI=0;
            Delay(500);
        }
    }    
}
在上面的程序中
如果去掉 while(TI==0)这条语句
和不去这条语句
在仿真的时候怎么效果是一样的????????????

相关帖子

沙发
hotpower| | 2007-12-18 20:53 | 只看该作者

Delay(500);

使用特权

评论回复
板凳
zfeng919|  楼主 | 2007-12-18 21:10 | 只看该作者

2楼那位大哥,那是啥意思啊?

使用特权

评论回复
地板
mohanwei| | 2007-12-18 21:25 | 只看该作者

应该是你的Delay(500);足够发一个字符了

使用特权

评论回复
5
zfeng919|  楼主 | 2007-12-18 21:42 | 只看该作者

回4楼

那怎么才能区分是这个问题呢?
如果把delay(500)的时间给短
会显示的太快,区分不了

使用特权

评论回复
6
m_m| | 2007-12-18 22:54 | 只看该作者

没必要用 Delay(500); 啦

使用特权

评论回复
7
infree| | 2007-12-19 09:09 | 只看该作者

你也没有对串口初始化呵

工作不会正常吧!
另外好像仿真时是不能控制TI置位的,我在仿真时都是在发送前自己置位TI,然后使用printf输出信息。

使用特权

评论回复
8
mohanwei| | 2007-12-19 10:51 | 只看该作者

一开始没注意到7楼提出的问题……

楼主的确没有对串口初始化……所以只能用来仿真……

建议楼主打开Keil自带的例程“Hello,World!”看看

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

8

主题

35

帖子

0

粉丝