[AT32F435] AT32F435的软件复位

[复制链接]
450|0
风暴之眸 发表于 2025-8-31 18:01 | 显示全部楼层 |阅读模式
, , 软件, , 435, AT32F4

AT32F435的软件复位

在MCU运行中,复位的情况比较多,有外部复位,也有内部复位,比如我们常按的Reset引脚拉低就是外部复位,而内部复位也分主动复位和被动复位,再比如WDT的复位就是被动复位。此时软件已经不知道要运行什么了!只能靠复位来重新运行了。还有一种情况,MCU主动复位,这样MCU可以重新加载,比如我们项目最常见的应用场景是Reset之后,进入IAP启动。

应用场景确定了!那么我们如何在软件中Reset呢!

unsigned int *reset=(unsigned int*)0xe000ed0c;
__dsb(0xF); 
*reset  = (unsigned int)((0x5FAUL << 16U) | ((*reset) & (7UL<<8U)) | (1UL<<2U) );
__dsb(0xF);

是不是看着有点复杂?其实ARM的CMSIS已经提供对应的API接口。

NVIC_SystemReset();

这回简单了吧!

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

本版积分规则

3

主题

31

帖子

0

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