專注電子技術(shù)學(xué)習(xí)與研究
當(dāng)前位置:單片機(jī)教程網(wǎng) >> MCU設(shè)計(jì)實(shí)例 >> 瀏覽文章

STM32 新固件庫(kù)創(chuàng)建相關(guān)

作者:佚名   來(lái)源:本站原創(chuàng)   點(diǎn)擊數(shù):  更新時(shí)間:2014年01月25日   【字體:

    上次那篇《STM32 RVMDK快速創(chuàng)建工程》,其實(shí)就是直接用keil安裝庫(kù)來(lái)創(chuàng)建工程。我認(rèn)為不要用下載的固件庫(kù)來(lái)創(chuàng)建工程,覺(jué)得容易出錯(cuò)。其實(shí),我當(dāng)時(shí)初窺stm32,很多東西沒(méi)有搞清楚,所以才這么認(rèn)為。直接用keil4的安裝庫(kù)來(lái)建立工程固然簡(jiǎn)單,但是那個(gè)庫(kù)舊得要命,都是2.0左右的版本(我原以為新安裝的必然是最新的庫(kù),其實(shí)不然)。
    用新的固件庫(kù)放于本地創(chuàng)建工程,之所以容易出錯(cuò),我想有兩點(diǎn):
    1、雖然把整個(gè)庫(kù)放在本地,但不一定真的就用了本地的庫(kù),由于include paths沒(méi)有設(shè)置完整或者沒(méi)有在在選項(xiàng)里定義關(guān)鍵的defind,很容易造成編譯器直接調(diào)用安裝庫(kù),而不是本地庫(kù)。
    2、新庫(kù)函數(shù)和舊庫(kù)不兼容,如果用舊庫(kù)寫的程序,升級(jí)成為新庫(kù),只怕新手很容易被蒙到。
    可以找一個(gè)叫《STM32V3.4固件庫(kù)使用方法》作為參考,去創(chuàng)建工程,不過(guò),即使這樣也容易出錯(cuò)。
    注意如下:
    1、仔細(xì)按這個(gè)方法設(shè)定defind、include paths,不可漏;
    2、仔細(xì)copy每個(gè)文件到工程里面,特別是“stm32f10x_conf.h”、“stm32f10x_it.h”、“stm32f10x_it.c”、“system_stm32f10x.c”
    3、建立工程的時(shí)候,出現(xiàn)“CopySTM32 Startup Code to Project Folder and ADD File to Project ?”提示時(shí),選擇“否”。
    4、“stm3210x_misc.c”、“stm3210x_rcc.c”“core_cm3.c”“system_stm32f10x.c”記得要加載
   5、“STM32F10X_HD,USE_STDPERIPH_DRIVER”記得要添加, STM32F10X_HD是高容量芯片的,要根據(jù)不同芯片選擇不同; 
    6、"stm32f10x.h"和“stm32f10x_lib.h”不可以同時(shí)include,前者是3.0庫(kù)以后的庫(kù)所用,后者是2.0庫(kù)所有,如果同時(shí)加載,就會(huì)出現(xiàn)重復(fù)定義等錯(cuò)誤提示。
    7、bool的問(wèn)題。新的固件庫(kù)是沒(méi)有對(duì)bool重定義的!。。!,在新庫(kù)里,要用到bool,請(qǐng)用#include <stdbool.h>,這樣才可以用true和false,小寫。
    8、新舊庫(kù)不兼容的地方要一一修改。

關(guān)閉窗口

相關(guān)文章