标题: keil5仿真执行单片机C语言main()只运行一次是为什么? [打印本页]

作者: 甜心面包    时间: 2022-4-4 12:59
标题: keil5仿真执行单片机C语言main()只运行一次是为什么?
keil5仿真执行main()只运行一次,然后就闪退了。但是下载到板子上跑没问题,是为什么?

作者: man1234567    时间: 2022-4-4 16:17
仿真软件或设置的问题,没有其他了
作者: 188610329    时间: 2022-4-5 18:30
原则上, main() 只会执行一次,所以一般编写单片机代码的时候,会main()里面,利用while(1)让main() 永远不跑完。
如果程序比较简单,main在编译的时候在整个单片机的尾部, 烧录时空余部分填充 0x00 或 0xff, 那么,在跑完一次 main 之后,继续跑完剩余部分的 0x00 或者 0xff 之后,PC指针重回 0x0000 之后,程序又重新开始跑,也是有可能的。




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1