为什么在单片机里C语言中main函数执行完之后还要重新执行??

main函数里没有while(1)啊.
2024-12-11 21:21:36
推荐回答(3个)
回答1:

上电后程序指针PC就会从程序存储器的0地址开始执行,
中间会按照程序的要求跳到需要的地址执行,
如果执行到最后一条指令完而没有相应的跳转指令
PC会继续往存储器的下一地址执行,
而下一地址是没有烧写指令进去的(理论上是全1或全0,随厂家而定),这时就出现了跑飞,
在PC将所有地址都跑一遍之后会回到0地址,如此循环,
不过在main主函数里面最后加一句while(1);让函数进入死循环,可解决此问题。

回答2:

单片机程序运行从main函数开始运行,而main函数里面有一个while(1)死循环,程序会一直执行while(1)里面的语句。

回答3:

这是你决定的。没人强迫你。