[应用相关] keil仿真后复位rst不管用,一直卡在while(1)循环

[复制链接]
1361|16
 楼主| probedog 发表于 2025-1-17 12:17 | 显示全部楼层 |阅读模式
keil仿真后复位rst不管用,一直卡在while(1)循环
两只袜子 发表于 2025-1-17 12:32 | 显示全部楼层
复位引脚设置有误?
jcky001 发表于 2025-1-17 14:00 | 显示全部楼层
检查是否有外部复位电路,并能工作正常。
AutoMotor 发表于 2025-1-17 17:15 | 显示全部楼层
有可能是程序运行后立马硬件错误?可以在程序入口打个断点看看
cr315 发表于 2025-1-17 23:00 | 显示全部楼层
可能是硬件问题
Amazingxixixi 发表于 2025-1-21 17:16 | 显示全部楼层
学习一下啊,还有好多需要学习的。
SophiaOP 发表于 2025-1-22 21:49 来自手机 | 显示全部楼层
复位电路设计的有问题吧
公羊子丹 发表于 2025-1-23 10:23 | 显示全部楼层
看看是不是你的代码里有 while(1) 死循环,可能是错误处理逻辑直接让程序停在这里了。
周半梅 发表于 2025-1-23 10:24 | 显示全部楼层
仿真时检查一下系统时钟配置,是不是复位后时钟没正确初始化,导致程序跑不起来?
帛灿灿 发表于 2025-1-23 10:26 | 显示全部楼层
有时候是硬件复位信号的问题,你试试手动触发一下软件复位,看看能不能解决。
童雨竹 发表于 2025-1-23 10:28 | 显示全部楼层
注意看一下复位后的 PC 指针是不是跳到意外的地方了,可能是跳到了错误地址或 HardFault。
万图 发表于 2025-1-23 10:29 | 显示全部楼层
确认你的复位中有没有执行正确的初始化代码,比如外设、堆栈这些有没有设置好。
Wordsworth 发表于 2025-1-23 10:31 | 显示全部楼层
如果有看门狗 WDG,可能是复位后没有及时喂狗,导致程序不停地进入复位状态。
Bblythe 发表于 2025-1-23 10:32 | 显示全部楼层
Debug 模式下,复位有时可能会和调试器冲突,导致复位信号失效,可以试试关掉调试功能。
Pulitzer 发表于 2025-1-23 10:33 | 显示全部楼层
试试直接在代码里用 NVIC_SystemReset() 执行一次复位,看程序能否正常从头开始运行。
Uriah 发表于 2025-1-23 10:35 | 显示全部楼层
检查一下启动文件(startup.s)配置,是不是复位向量表或者堆栈指针有问题。
Clyde011 发表于 2025-1-23 10:36 | 显示全部楼层
有时候是 Keil 的仿真器没完全复位,可以在 Debug 菜单里选择“Reset CPU”试试。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

493

主题

3361

帖子

4

粉丝
快速回复 在线客服 返回列表 返回顶部