在版内搜索了一下关于“stm全局中断问题”,得到的答案是利用固件库中函数NVIC_SETPRIMASK()和NVIC_RESETPRIMASK()来开关全局中断,于是继续寻找这两个函数,发现在两个函数在使stm32f10x_nvic.c中,但是我V3.0的库中只找到了有关的misc.c,但misc.c仍然没有“NVIC_SETPRIMASK()和NVIC_RESETPRIMASK()”这两个函数,于是继续寻找,发现一个帖子中,香版主说,这两个功能已经合并到core_cm3.c和core_cm3.h,于是看了一下,对应的宏定义__enable_irq()和__disable_irq(),但是这两文件在定义在ICC_AMR(IAR编译环境)下,如果我使用另外一个函数__set_PRIMASK(1) :是不是关全局中断,__set_PRIMASK(0)是不是开全局中断,能否这样使用,请大家帮忙看一下!谢谢!!
|