STM软件复位
来源:互联网 发布:张辅 知乎 编辑:程序博客网 时间:2024/04/26 08:57
记录下软件复位两个函数
__set_FAULTMASK(1);
NVIC_SystemReset();
我的STM32是F103系列,即CPU内核为Cortex M3,这两个函数在core_cm3.h里面都有定义,
__set_FAULTMASK(1);是关闭所有中断的意思,目的是在执行NVIC_SystemReset();复位函数过程中不被中断所打断。
两个函数执行后系统复位重新执行代码,包括之前所配置好的外设寄存器也都回到复位状态。
如果你想要保持之前配置好的寄存器不变的话,那么你再程序跳转之前要先初始化堆栈,而且你程序跳转的地址不对,应该这样:
__set_MSP((__IO uint32_t) 0x08000000); 要先初始化堆栈指针
((void () (void)) ((vu32 )0x08000004) (); 这句才是程序跳转,注意了,是((vu32 *)0x08000004
阅读全文
1 0
- STM软件复位
- 软件复位
- STM系列单片机软件安装
- 对于STM32软件复位
- STM32的软件复位
- 芯片软件复位不成功
- STM32软件复位
- stm32f070 软件复位
- STM32程序软件复位
- STM32软件复位办法
- STM
- STM下纯软件实现精确定时
- Akka的软件事务内存 (STM)
- 理解Clojure STM 软件事务性内存
- STM —— 软件事务性内存
- 51单片机的软件复位
- STC89C52MCU--软件实现系统复位
- STM32 关于复位类型的判断及软件复位
- mysql中文乱码(已解决)
- eclipse常用快捷键
- 杂谈
- 数据库SQL优化-总结-30条-必看
- Oracle数据库特殊视图说明
- STM软件复位
- 练习5-3 数字金字塔
- Java黑马面试题/黑马入学题库
- hibernate constrained
- Arithmetic Slices
- [GNU/Emacs] 快捷键简单汇总
- ev
- iOS开发者必备:六大图片、图标处理类工具
- 程序的内存布局