void main()
{
chushi();
while(1)
{
if(flag)
{
ES=0; //标志位确定是否收到数据
flag=0;
for(i=0;i<6;i++)
{
SBUF=table[i];
while(!TI);
TI=0;
}
SBUF=a[j++];
while(!TI);
TI=0;
SBUF=' ';
while(!TI);
TI=0;
ES=1;
}
这是通讯程序的一部分,我有不理解是SUBF只能存一个字节,那么FOR循环怎么把多个字节存进去了.
它内部到底是怎样工作的,只说接收数据的SBUF就好了
但它只能接收一个字节,那FOR循环中是多个字节,那是怎样理解呢?
追答For循环是一步一步的执行的啊,循环一次发送一个字节啊。
为什么要先关掉串口中断再打开,对接受数据是否有形响,网上有部分人说关掉串口中断会引起数据丢失的情况, 其实上位机发送数据给单片机是按规定时间连续发送么?不管你如何设置程序
本回答被网友采纳