STM32固件庫說(shuō)明
l發(fā)布時(shí)間:09/22/2008
本文引用地址:http://dyxdggzs.com/article/201611/317016.html功能::給出了STM32微控制器片內所有外設的驅動(dòng)函數,使用戶(hù)把更多的時(shí)間花在應用程序的開(kāi)發(fā)上,以加快產(chǎn)品上市時(shí)間。(實(shí)質(zhì)上是將各種寄存器的參數配置定義成宏,并以結構體的方式給寄存器賦值,這樣既方便又易懂)
l特點(diǎn):
- 由函數、數據結構和宏組成,包括了微控制器所有外設的功能特征,還包括了每個(gè)外設的驅動(dòng)描述和應用實(shí)例
- 按照ANSI-C編寫(xiě)的,不受開(kāi)發(fā)環(huán)境的影響,僅啟動(dòng)文件取決于開(kāi)發(fā)環(huán)境(即程序和數據在寄存器中是如何配置的得根據所使用的開(kāi)發(fā)環(huán)境),非常易于移植。
- 每個(gè)外設驅動(dòng)都由一組函數組成,這組函數覆蓋了該外設所有功能。函數和參數名稱(chēng)都進(jìn)行了標準化(函數名就代表了該函數的功能,即見(jiàn)名可知其義)
STM32固件庫組成
STM32firmwarelibraryv2.0.3包含如下4個(gè)內容
resc;stm32lib_contents.htm;version是對庫進(jìn)行說(shuō)明的文件


──文件夾examples
對應STM32的每個(gè)外設,都包含一個(gè)文件夾,這些子文件夾包含了整套源文件,來(lái)示范如何使用對應外設有:
main.c:例程主函數
stm32f10x_int.c:包含了所有中斷服務(wù)程序(未使用的中斷,則其函數體為空)
stm32f10x_int.h:該頭文件包含了所有的中斷服務(wù)程序函數的原型
stm32f10x_config.h:該頭文件設置了所有用到的外設,沒(méi)有用到的外設可以將其屏蔽掉,以節省編譯時(shí)間
readme.txt:對該例子進(jìn)行簡(jiǎn)單描述和使用說(shuō)明
──文件夾library
包含了組成固件函數庫核心的所有源文件:
※子文件夾inc:包含了固件函數庫所需的所有頭文件,用戶(hù)無(wú)需修改該文件夾中的內容
stm32f10x_type.h:所有其他文件所使用的數據和枚舉類(lèi)型
stm32f10x_map.h:所有外設的存儲器映像和寄存器數據結構
stm32f10x_lib.h:主頭文件,包含了其他所有頭文件(在源程序中只包含這個(gè)文件即可,而其他所需頭文件自動(dòng)加入)
stm32f10x_ppp.h:每個(gè)外設對應一個(gè)頭文件,包含了該外設使用的所用函數原型,數據結構和枚舉(ppp代表某個(gè)外設的名字)
stm32f10x_macro.h:文件cortex3_macro.s對應的頭文件(即操作Cortex_M3核所需的頭文件)
※子文件夾src:包含了固件庫所需的所有源文件,用戶(hù)無(wú)需修改該文件夾中的內容
stm32f10x_ppp.c:每個(gè)外設對應一個(gè)源文件,該源文件包含了該外設使用的所有函數體
stm32f10x_lib.c:用于初始化所有外設的指針
──文件夾project
包含了一個(gè)標準的程序項目模板,包括庫文件的編譯和所有用戶(hù)可修改的文件,可用以建立新的工程。
stm32f10x_config.h:項目配置頭文件,默認為允許了所有的外設
stm32f10x_it.c:所有中斷服務(wù)程序函數體,默認都為空
stm32f10x_it.h:所有中斷服務(wù)程序的原型(不用修改)
main.c:主函數體,默認為只有一個(gè)空的主函數
評論