關于STM32F103 V3.5.0固件庫stm32f10x_conf.h文件
最近項目使用STM32,又重新熟悉了一下STM32的工程建立與程序設計,總結了一下,發(fā)現了之前沒有發(fā)現的技巧與設置。
關于STM32F103 的V3.5.0固件庫,使用起來,挺方便,移植性也不錯,當然,如果使用Keil uVesion4開始的話,首先需要設置好工作環(huán)境,才可以正常的編譯。
為什么會有:main.c里面怎么來的stm32f10x_conf.h文件?
我搜索了一下代碼,發(fā)現來自:主頭文件#include "stm32f10x.h"
若是使用ST公司為STM32開發(fā)的固件庫,就會包括頭文件:stm32f10x_conf.h。
打開stm32f10x_conf.h文件一看,原來,只有:#include "stm32f10x.h"還不夠,如果要使用外設什么的,還要在這里打開配置開關,不用的外設可以不加入頭文件,看來設計的挺巧妙的。這樣使用外設庫時,只要配置好就行了,在main.c里只使用一個:#include "stm32f10x.h"就可以了。
看來如果不配置好stm32f10x_conf.h,當使用外設如ADC TIM USART時,根據無法編譯通過。因為沒有在項目里加入頭文件調用,這里若全不選,根本不能調用固件外設庫,即使你把固件庫文件加入了工程里。當然,你可以在main.c里面全部加入需要的頭文件來解決,不過我覺得配置stm32f10x_conf.h簡單方便,有組織。
在這里,加入了需要使用的固件庫外設文件,但還不夠,還需要設置如下:
還加入頭文件路徑:
根據使用的外設固件庫配置一下:stm32f10x_conf.h,如果使用systick系統(tǒng)滴答定時器等,只要在stm32f10x_conf.h里,取消#include "misc.h" 前面的注釋,即包含這個misc.h文件即可,否則,滴答定時器不工作。
看來,要熟悉整個來龍去脈,才會有更深入的理解。stm32比較強大,開始簡單,價格適中,應用于目前的小項目設計中,還是大有前景的。