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