初学stm32练习窗口关门狗时keil中遇到大量未定义错误。
以下是我的main函数和wdg.c文件。
添加不少头文件而且调换顺序还是没有解决,求解答





初学stm32练习窗口关门狗时keil中遇到大量未定义错误。
以下是我的main函数和wdg.c文件。
添加不少头文件而且调换顺序还是没有解决,求解答





关注引自免费微信小程序:皆我百晓生
在您的描述中,您遇到了STM32单片机项目在Keil编译过程中出现大量未定义错误。这些问题主要集中在USART、WDG和SYS模块的初始化代码上。这些错误通常是由于头文件包含不正确或者相应的库文件没有被正确链接导致的。
以下是针对您提供的错误信息进行的分析与建议:
USART相关错误:
UART_HandleTypeDef等结构体以及相关的宏定义未找到。这通常是因为没有包含正确的USART HAL库头文件,应在usart.c或需要使用该结构体的文件开始处加入:
#include "stm32f1xx_hal_uart.h"
WDG相关错误:
void wwdg_ini(uint8_t tr, uint8_t wr, uint32_t fprer);
wdg.c文件中包含了对应的WWDG库文件:
#include "stm32f1xx_hal_wwdg.h"
SYS系统时钟配置相关错误:
#include "stm32f1xx_hal_rcc.h"
通用问题:
.c源文件)已经添加到工程中,并且被正确编译。为了彻底解决这些问题,请按照以下步骤检查并修正:
最后,请重新整理代码结构,例如将main.c和相关模块的头文件和源文件排列如下:
- Drivers/
- STM32F1xx_HAL_Driver/
- inc/
- stm32f1xx_hal.h
- stm32f1xx_hal_uart.h
- stm32f1xx_hal_wwdg.h
- ...
- src/
- stm32f1xx_hal_uart.c
- stm32f1xx_hal_wwdg.c
- ...
- BSP/
- WDG/
- wdg.c
- wdg.h
- LED/
- led.c
- led.h
- SYSTEM/
- usart/
- usart.c
- usart.h
- sys/
- sys.c
- sys.h
- main.c
- system_stm32f1xx.c
- startup_stm32f103xe.s
然后根据上述结构调整项目的包含路径和源文件添加情况。