当前位置: 首页 > news >正文

执行NVIC_SystemReset程序不复位的解决办法

前言

最近做项目时要求加一个程序复位功能,刚开始想的很简单,加下面两行代码即可,但是测试发现执行完这两条语句以后程序卡死了,并没有按照预期复位重启
还有一个现象,使用jlink供电,板子上电4秒以后必现重启一次

__set_FAULTMASK(1);			//关闭所有中断
HAL_NVIC_SystemReset();	    //进行软件复位

分析过程

我的设备使用的jlink烧录仿真的,jlink接了VCC、GND、SWDIO、SWCLK、RESET这5根线。由于我使用jlink供的电,没有给设备外部额外供电,所以想着会不会是供电不足导致MCU没起来,但加上外部供电还是不行。于是怀疑是jlink有问题,把jlink拔掉,直接用外部供电发现正常了,4秒重启的问题也不出现了。

结论

拔掉jlink,程序能正常复位重启(注意:要从设备侧拔掉,不要从电脑侧拔,要保证jlink断电

原因分析

推测应该是jlink的REST复位引脚的原因,导致程序无法复位,由于时间有限就没有去深究和测试验证了,如果大家找到了问题原因,麻烦评论告知一下。这里附上可能跟这个问题相关的博客链接:https://bbs.eeworld.com.cn/thread-1192817-1-1.html

相关文章:

  • ca证书和服务端证书两者之间的关系
  • vue3 + xlsx 实现导入导出表格,导出动态获取表头和数据
  • 【AI】让deepseek_r1 671b输出draw.io可导入的xml图表数据
  • golang算法滑动窗口
  • 3.03-3.09 Web3 游戏周报:Sunflower Land 周留存率 74.2%,谁是本周最稳链游?
  • 数据库查问题常用OS命令汇总
  • mysql的MHA
  • 电商项目中如何选择安全高效的电商API接口?
  • 部署自己的Docker镜像加速仓库
  • Lineageos 22.1(Android 15)通知栏添加截图开关
  • 使用AI一步一步实现若依前端(4)
  • 【JAVA】之路启航——初识Java篇
  • python绘图之瀑布图
  • MySQL中有哪几种锁?
  • 个人学习编程(3-10) 刷题
  • 【C++】C++入门基础
  • SpringAI介绍及本地模型使用方法
  • c++介绍锁四
  • vim 编写/etc/docker/daemon.json文件时,E212: 无法打开并写入文件
  • 红队思想:Live off the Land - 靠山吃山,靠水吃水
  • 读懂城市|成都高新区:打造“人尽其才”的“理想之城”
  • 香港特区政府强烈谴责美参议员恐吓国安人员
  • 高新波任西安电子科技大学校长
  • 在本轮印巴冲突的舆论场上也胜印度一筹,巴基斯坦靠什么?
  • 知名猎头公司创始人兼首席执行官庄华因突发疾病逝世,享年62岁
  • 免签国+1,中乌(兹别克斯坦)互免签证协定6月生效