本帖最后由 yanyanmolly 于 2018-10-26 14:24 编辑 在用cubemx移植freemodbus的时候遇到了开关中断函数问题,我用的stm32f407的板子在开关中断里我用的函数是 #define ENTER_CRITICAL_SECTION( ) __set_PRIMASK(1); #define EXIT_CRITICAL_SECTION( ) __set_PRIMASK(0); 但是编译出错,错误提示是 FLASH1\FLASH1.axf: Error: L6218E: Undefined symbol __set_PRIMASK (referred from mb.o). 我跟踪错误发现提示cmsis_armcc.h里面 __STATIC_INLINE uint32_t __get_CONTROL(void) { register uint32_t __regControl __ASM("control"); return(__regControl); } 这句话提示 unkown type name '__STATIC_INLINE '之前看过一个帖子 https://www.stmcu.org.cn/module/f ... ewthread&tid=613467 里面说是缺少宏定义 想问是这个问题么 如果是宏定义怎么定义呢 |
在宏定义里面就是那个keil里面c/c++那加了个宏定义 __GNUC__ 就好了
我加了 不管用呢