历史上的今天
今天是:2025年06月29日(星期日)
2019年06月29日 | STM软件复位
2019-06-29 来源:eefocus
记录下软件复位两个函数
__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
下一篇:STM32F407 周期唤醒功能
史海拾趣
|
请问:目前性能比较好的锂电充电IC(同时支持USB和外接电源)有哪些?谢谢! 请问:目前性能比较好的锂电充电IC(同时支持USB和外接电源)有哪些?谢谢!主要用于一节锂电电池的充电。… 查看全部问答> |
|
最佳答案步进电机是一种将电脉冲转化为角位移的执行机构。当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(称为“步距角”),它的旋转是以固定的角度一步一步运行的。可以通过控制脉冲个数来控制角位移量,从而达 ...… 查看全部问答> |
|
1280x1024 10.0 - 51 fps 1600x1200 8.0 - 33 fps 1920x1200 5.7 - 31 fps 2048x1536 5.6 - 22 fps 2048x2048 5.0 - 18 fps… 查看全部问答> |
|
外部存储器接口EMIF是什么意思?控制字EMI0CF和EMI0TC能不能具体介绍一下是干什么的吗? 外部存储器接口EMIF是什么意思?控制字EMI0CF和EMI0TC能不能具体介绍一下是干什么的吗?也就是说这两个控制字控制什么?… 查看全部问答> |
|
母板给子板提供一高电平信号,3.3V, 1)上电后,子板联插在母板上,母板输出端口A为3.3V 2)上电后,插上子板,但子板没烧写程序,母板与子板的此接口A为3.3V 3)上电后,插上子板,把程序烧写进子板,母板与子板的此接口A为1V 这是不是和FPGA ...… 查看全部问答> |
|
这篇文章主要是还原一个“事故”现场,具体原因有待进一步分析。 遇难芯片:1片Xilinx FPGA XC5VSX95T、1片PROM XCF32P、2片PROM XCF08P、一块盗版Xilinx Platform C ...… 查看全部问答> |




