单片机的串口通信中发送了数据到SBUF, 一定要CPU空白while(1);等它发完吗? 可不可以发出就执行其他语句
单片机的串口通信中发送了数据到SBUF,一定要CPU空白while(TI==0);等它发完吗?可不可以发出就执行其他语句SBUF=a;while(TI==0);TI=0;...
单片机的串口通信中发送了数据到SBUF, 一定要CPU空白while(TI == 0);等它发完吗?
可不可以发出就执行其他语句
SBUF = a;
while(TI == 0);
TI = 0;
如果不等待while(TI == 0);而直接去执行其它任务再加上TI = 0;这句可以吗? 展开
可不可以发出就执行其他语句
SBUF = a;
while(TI == 0);
TI = 0;
如果不等待while(TI == 0);而直接去执行其它任务再加上TI = 0;这句可以吗? 展开
3个回答
展开全部
其实while(TI == 0); 也只有几个微秒。这样更加稳定,规范。
十字路口没汽车,可冲红灯吗???
十字路口没汽车,可冲红灯吗???
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不一定,但在下一次发送新数据前一定要检测前面的数据是否发送完成。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你如果用中断方式就不用等。 比如:
void Serial_INT() interrupt 4
{
if(TI)
{
TI = 0;
SBUF=……;
}
}
void Serial_INT() interrupt 4
{
if(TI)
{
TI = 0;
SBUF=……;
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询