stm32编程-有没无while(1)的影响

2019-10-16 01:43发布

int main(void)
{
        u8 time,data;
        RCC_Configuration();
        GPIO_Configuration();
        USART_Configuration ();
        data='A';
        for(time=0;time<20;time++){
        while(USART_GetFlagStatus( USART1,  USART_FLAG_TC)==RESET);
        USART_SendData(USART1,data);
        data++;
while(1);
}
为什么我在加上while(1)的时候串口窗口里收到的数据有20个,去掉while(1)的时候,只接受到19个,最后一个T丢失了

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
16条回答
若水
1楼-- · 2019-10-16 02:23
个编译器有关,不加while(1)程序跑飞了,不过有的编译器编译自动添加,有的不添加!
操作系统
2楼-- · 2019-10-16 08:11
没有最后的while(1);,单片机马上跑飞了。已经进入到硬件错误,或者复位了。最后一个这字节就发送不成功了。
帅气迷人彬
3楼-- · 2019-10-16 11:39
那为什么以前我写51的时候有没有while(1)都没影响,写arm会有影响呢
东北小辉辉
4楼-- · 2019-10-16 15:12
 精彩回答 2  元偷偷看……
山峰雪狼
5楼-- · 2019-10-16 18:51
不要凡事都和51比,两种的架构是不一样的
aben
6楼-- · 2019-10-16 21:31
我建议你 把这两句 while(USART_GetFlagStatus( USART1,  USART_FLAG_TC)==RESET);         USART_SendData(USART1,data);    颠倒一下,再试试有while(1)和 没有while(1) ,看看有没有区别。。。

一周热门 更多>