n32g45x软件复位

本文介绍了N32G45X复位控制单元的三种复位方式,重点阐述了系统复位中的软件复位,包括其触发条件和使用Cortex-M4的NVIC_SystemReset函数实现方法。文中还提及了中断的开启和关闭操作。
摘要由CSDN通过智能技术生成

N32G45X 复位控制单元
支持三种复位方式 : 电源复位 ,系统复位,备份域复位
本次简单说明一下系统复位中的软件复位
发生以下事件之一时会产生系统复位:
 NRST 引脚上的低电平(外部复位)
 窗口看门狗计数终止(WWDG 复位)
 独立看门狗计数终止(IWDG 复位)
 软件复位(SW 复位)
 低功耗管理复位
 电源复位
 MMU 保护复位
 RAM 奇偶校验出错复位
 备份域 EMC 复位
 保持域 EMC 复位
 BOR 复位

其中,软件复位 可以通过设置 Cortex™-M4 应用中断和复位控制寄存器中的 SYSRESETREQ 位来产生软件复位。

原型:
__NO_RETURN __STATIC_INLINE void __NVIC_SystemReset(void)
{
__DSB(); /* Ensure all outstanding memory accesses included
buffered write are completed before reset /
SCB->AIRCR = (uint32_t)((0x5FAUL << SCB_AIRCR_VECTKEY_Pos) |
(SCB->AIRCR & SCB_AIRCR_PRIGROUP_Msk) |
SCB_AIRCR_SYSRESETREQ_Msk ); /
Keep priority group unchanged /
__DSB(); /
Ensure completion of memory access */

for(;😉 /* wait until reset */
{
__NOP();
}
}

N32中可以直接调用库函数 NVIC_SystemReset 来实现 。

rt_hw_interrupt_disable(); //关闭全部中断
//rt_hw_interrupt_enable(level); //打开全部中断
NVIC_SystemReset(); // 系统软件复位

网上没搜到,做个记录 。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值