stm32f103 软件复位问题

2019-10-16 01:04发布

用IAR7.1开发环境,使用  NVIC_SystemReset();函数进行复位,发现有时候会出现卡死现象,现在 在前面加入 __set_FAULTMASK(1);函数,但是go to definition 发现 是进入intrinsic.h文件 #ifdef __ARM7__/* These are only available for v7M */
__ATTRIBUTES unsigned long __get_FAULTMASK( void );
__ATTRIBUTES void          __set_FAULTMASK(unsigned long);
__ATTRIBUTES unsigned long __get_BASEPRI( void );
__ATTRIBUTES void          __set_BASEPRI( unsigned long );


__set_FAULTMASK这个函数应该是在core.h文件中,但是 用3.5的库的话 就和intrinsic.h文件不兼容,所以就用ST给的解决办法 在IAR option中选择 USE CMSIS,这样的话 __set_FAULTMASK(1)就跑到了intrinsic.h中了,而core.h没有这个函数,这样的话复位有作用没?还有之前仅仅执行NVIC_SystemReset()为什么会进入卡死呢?

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。