[STM32F4] __disable_irq()

[复制链接]
1841|4
 楼主| 黑子的乌鸦 发表于 2020-8-20 10:13 | 显示全部楼层 |阅读模式
stm32f4,我直接调__disable_irq()这个函数,编译不过去,需要引入哪个头文件?谢谢各位大神
sonicll 发表于 2020-8-20 13:55 | 显示全部楼层
本帖最后由 sonicll 于 2020-8-20 14:22 编辑

你是不是keil版本太低了?这个函数是不需要头文件的,在armcc中,__disable_irq() 和 __enable_irq() 是所谓的intrinsic函数,编译器自动识别并替换为相关的指令,也就是说他们其实是编译器的一部分。
实在不行的话,用
__set_PRIMASK(1);
这条语句也是关中断的,效果是一样的,都是写内核的PRIMASK寄存器。

如果你用的不是keil,用的是IAR或者其他使用GCC的IDE,那么__disable_irq()函数在cmsis_iccarm.h或者cmsis_gcc.h里

香水城 发表于 2020-8-20 14:23 | 显示全部楼层
正常来讲 只要你IDE安装没问题的话,都可以直接使用。早期版本可能需指明CORE.CMx.h所在路径。
 楼主| 黑子的乌鸦 发表于 2020-8-22 14:15 | 显示全部楼层
sonicll 发表于 2020-8-20 13:55
你是不是keil版本太低了?这个函数是不需要头文件的,在armcc中,__disable_irq() 和 __enable_irq() 是所 ...

好的,谢谢
 楼主| 黑子的乌鸦 发表于 2020-8-22 14:15 | 显示全部楼层
香水城 发表于 2020-8-20 14:23
正常来讲 只要你IDE安装没问题的话,都可以直接使用。早期版本可能需指明CORE.CMx.h所在路径。 ...

好的,谢谢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

11

主题

68

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部