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





