等待发送完。
发送前将TI清零,当发送完后硬件会自动将TI改为1,所以只要一直查询TI标志就能知道是否发送完了。
而之后的TI=0;当然是为了下一字节做准备。
另外,提醒LZ注意:
C语言下,“;”是非常重要的标志,代表执行这个语句,相当于DOS下的回车。
而没有这个的话语句肯定是不能执行的,编译器会直接报错。
所以贴程序是千万不要少了分号";"哦~ 也千万不要把半角的";"打成全角的";"哦~
所以正确的程序应该这样写:
SBUF=data;
while(TI==0);
TI=0;
而且如果写成下面这样的话编译器不会报错,但结果那就完全不一样了:
——就作为作业吧,你自己去想象,然后回答执行结果会有什么不一样。
SBUF=data;
while(TI==0)
TI=0;
|