碰到一个奇怪的问题,使用CubeMX直接生成的的工程(路径纯英文),如果一开始在CubeMX中配置了USART和TIM定时器,哪怕在工程中将CubeMX生成的代码全部注释,自己新建点C文件,将生成的代码全部移植到自建的文件中也能正常编译,但如果一开始不在CubeMX中配置USART和TIM定时器,哪怕用的是刚刚的自建文件,一字不改,编译器还是会报错
error: #20: identifier "UART_HandleTypeDef" is undefined
error: #20: identifier "TIM_HandleTypeDef" is undefined
都是如上面这种函数句柄未定义的情况,但这些显示未定义的全是HAL库文件中的东西,我在自建文件中都直接添加了#include "stm32g4xx_hal.h",但编译器还显示报错,目前猜测可能是不使用CubeMX配置会缺少了一些东西,例如启动文件之类的
我后来每个自建文件都添加了#include "stm32g4xx_hal.h"(只不过我提问的图片上没有更新),"C/C++ Tab"下"Include Paths"路径也都检查了,C文件也都包含了,但就是不行,我感觉应该是缺少了什么文件,但就是找不到,佬们能帮我分析一下是什么原因吗
将串口,定时器的相关文件全部注释和不引用后,报错消失