串口程序不懂

2019-08-14 18:25发布

int main(void)
{
        NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
        usart_init();
        while(1);
}
这是32f1里面手把手教你写串口通信那一节的内容,这个while(1)有什么用啊,注释之后发送到串口的信息,电脑无法接收到了。

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
6条回答
GaleReckless
1楼-- · 2019-08-14 20:35
 精彩回答 2  元偷偷看……
dragon173
2楼-- · 2019-08-15 00:14
GaleReckless 发表于 2017-8-5 20:41
while(1)是保证程序还在运行,没有while(1)程序直接就推出了,串口通信是中断,程序退出的话中断也没了。

进入while(1)不就是表示一直执行while(1)循环吗?难道中断和while(1)和可以同时执行?
lorry
3楼-- · 2019-08-15 00:34
dragon173 发表于 2017-8-5 20:46
进入while(1)不就是表示一直执行while(1)循环吗?难道中断和while(1)和可以同时执行?

程序一直在while(1)中循环,可当有串口中断时进入串口中断程序
牛鑫
4楼-- · 2019-08-15 02:24
while(1)在主程序中是一直执行的,如果去掉的话就相当于这个主程序只执行一次,那么你的中断还没有执行就执行完主程序了,如果写上while(1),那么会一直在主程序里面执行,如果此时串口中断发生,那么就会暂停执行whil(1),去执行中断程序
GaleReckless
5楼-- · 2019-08-15 02:44
dragon173 发表于 2017-8-5 20:46
进入while(1)不就是表示一直执行while(1)循环吗?难道中断和while(1)和可以同时执行?

程序一直执行while(1);有中断就暂停执行,跳转到中断程序,执行完之后回到while(1);还没学微机原理吧。
dragon173
6楼-- · 2019-08-15 04:18
 精彩回答 2  元偷偷看……

一周热门 更多>