CubeMX IDE使用FreeRTOS时HAL_GPIO_TogglePin报错求助
STM32 HAL库引脚宏报错解决方法
- 问题本质:STM32 HAL库规定引脚定义宏是全大写格式的
GPIO_PIN_12,你写的GPIO_Pin_12(驼峰式)是错误的,编译器报错已经明确提示了这个问题。 - 关于VS复制后正常的原因:要么你在VS里实际输入的是正确的全大写格式,只是误以为和Eclipse里的写法一致;要么VS的代码补全工具默认提供了HAL库的正确宏定义,自动补全的内容是对的。
- 具体解决步骤:
- 直接修改代码中的错误宏,替换后代码如下:
HAL_GPIO_TogglePin(GPIOB, GPIO_PIN_12); //Generated by cubeMX - 检查Eclipse的配置:如果是Eclipse自动补全给出了错误的
GPIO_Pin_x选项,要确认Eclipse是否正确关联了CubeMX生成的HAL库头文件,若是用STM32CubeIDE,建议更新到最新版本的插件。 - 后续写代码时统一用全大写的
GPIO_PIN_x格式,这是HAL库的标准写法。
- 直接修改代码中的错误宏,替换后代码如下:
内容的提问来源于stack exchange,提问作者ROVguy
相关产品推荐
相关产品推荐

