找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1759|回复: 2
打印 上一主题 下一主题
收起左侧

keil5仿真执行单片机C语言main()只运行一次是为什么?

[复制链接]
跳转到指定楼层
楼主
ID:814022 发表于 2022-4-4 12:59 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
keil5仿真执行main()只运行一次,然后就闪退了。但是下载到板子上跑没问题,是为什么?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:584814 发表于 2022-4-4 16:17 | 只看该作者
仿真软件或设置的问题,没有其他了
回复

使用道具 举报

板凳
ID:624769 发表于 2022-4-5 18:30 | 只看该作者
原则上, main() 只会执行一次,所以一般编写单片机代码的时候,会main()里面,利用while(1)让main() 永远不跑完。
如果程序比较简单,main在编译的时候在整个单片机的尾部, 烧录时空余部分填充 0x00 或 0xff, 那么,在跑完一次 main 之后,继续跑完剩余部分的 0x00 或者 0xff 之后,PC指针重回 0x0000 之后,程序又重新开始跑,也是有可能的。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表