今天碰到了下面圖(1)這個問題,導致問題的直接原因是 工程沒有包含 stm32f10x_tim.h 這個文件,而stm32f10x_tim.h 包含在stm32f10x_conf.h 這個文件中,stm32f10x_conf.h又包含在stm32f10x.h這個文件中。做了兩個嘗試:(1)直接將stm32f10x_tim.h添加到該文件中,錯誤消除。(2)將stm32f10x.h添加到文件中,錯誤沒有消失。為什么?見圖(2)圖(1)
如下圖所示,stm32f10x.h這個文件的最后有句
#ifdefUSE_STDPERIPH_DRIVER
#include"stm32f10x_conf.h"
#endif 即只有在將USE_STDPERIPH_DRIVER 配置在圖(3)所示的選項中時,stm32f10x.h 才包含stm32f10x_conf.h
這個文件。而之前圖3的選項中已經進行了配置,猜想可能是字符串有誤,所以直接從stm32f10x.h文件中復制粘貼過去,錯誤消失,問題解決。
圖(2)
圖(3)
評論