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