单片机-C语言程序串口FOR用while(!TI);判断会无限循环!
for(iif9=0;iif9<sizeof(buf);iif9++){SBUF=buf[jj9++];//while(!TI);//在主程序里用这个导致串口无限循环,串...
for(iif9=0;iif9<sizeof(buf);iif9++)
{
SBUF=buf[jj9++];
//while(!TI); //在主程序里用这个导致串口无限循环,串口连电脑时没有问题,连3.3V串口时单片机无限循环,不用这个语句就不会
// TI=0;
Delay10ms(); //用延时来就不会?
}
我该怎么办?
好像在主程序里放FOR循环也会导致单片机复位 展开
{
SBUF=buf[jj9++];
//while(!TI); //在主程序里用这个导致串口无限循环,串口连电脑时没有问题,连3.3V串口时单片机无限循环,不用这个语句就不会
// TI=0;
Delay10ms(); //用延时来就不会?
}
我该怎么办?
好像在主程序里放FOR循环也会导致单片机复位 展开
1个回答
2015-01-06
展开全部
设置一个超时。参考如下:
申请一个变量x,插入代码while((!TI)&(for (x=200;x>0;x--)));中
申请一个变量x,插入代码while((!TI)&(for (x=200;x>0;x--)));中
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询