1. 程式人生 > 其它 >STM32學習筆記(二)——如何使用幫助文件

STM32學習筆記(二)——如何使用幫助文件

9.2.1. 常用官方資料

  • 《STM32F4xx參考手冊》

    這個檔案全方位介紹了STM32晶片的各種片上外設,它把STM32的時鐘、儲存器架構、及各種外設、暫存器都描述得清清楚楚。當我們對STM32的外設感到困惑時, 可查閱這個文件。以直接配置暫存器方式開發的話,查閱這個文件暫存器部分的頻率會相當高,但這樣效率太低了。

  • 《STM32F4xx規格書》

    本文件相當於STM32的datasheet,包含了STM32晶片所有的引腳功能說明及儲存器架構、晶片外設架構說明。後面我們使用STM32其它外設時, 常常需要查詢這個手冊,瞭解外設對應到STM32的哪個GPIO引腳。

  • 《Cortex™-M4核心參考手冊》

    本文件由ST公司提供,主要講解STM32核心暫存器相關的說明,例如系統定時器、中斷等暫存器。這部分的內容是《STM32F4xx參考手冊》沒涉及到的核心部分的補充。 相對來說,本文件雖然介紹了核心暫存器,但不如以下兩個文件詳細,要了解核心時,可作為以下兩個手冊的配合資料使用。

  • 《Cortex-M3權威指南》、《cortex_m4_Technical Reference Manual》。

    這兩個手冊是由ARM公司提供的,它詳細講解了Cortex核心的架構和特性,要深入瞭解Cortex-M核心, 這是首選,經典中的經典,其中Cortex-M3版本有中文版,方便學習。因為Cortex-M4核心與Cortex-M3核心大部分相同,可用它來學習, 而Cortex-M4新增的特性,則必須參考《cortex_m4_Technical Reference Manual》文件了,目前只有英文版。

  • 《stm32f4xx_dsp_stdperiph_lib_um.chm》

    這個就是本章提到的庫的幫助文件,在使用庫函式時,我們最好通過查閱此檔案來了解標準庫提供了哪些外設、 函式原型或庫函式的呼叫的方法。也可以直接閱讀原始碼裡面的函式的函式說明。

9.2.2. 初識庫函式

所謂庫函式,就是STM32的庫檔案中為我們編寫好的函式介面,我們只要呼叫這些庫函式,就可以對STM32進行配置,達到控制目的。 我們可以不知道庫函式是如何實現的,但我們呼叫函式必須要知道函式的功能、可傳入的引數及其意義、和函式的返回值。

於是,有讀者就問那麼多函式我怎麼記呀?我的回答是:會查就行了,哪個人記得了那麼多。所以我們學會查閱庫幫助文件 是很有必要的。

開啟庫幫助文件《stm32f4xx_dsp_stdperiph_lib_um.chm》見圖 庫幫助文件

層層開啟文件的目錄標籤:

標籤目錄:Modules\STM32F4xx_StdPeriph_Driver\

可看到STM32F4xx_StdPeriph_Driver標籤下有很多外設驅動檔案的名字MISC、ADC、BKP、CAN等標籤。

我們試著檢視GPIO的“位設定函式GPIO_SetBits”看看,開啟標籤:

標籤目錄:Modules\STM32F4xx_StdPeriph_Driver\GPIO\Functions\GPIO_SetBits 見圖 庫幫助文件的函式說明 。

 

利用這個文件,我們即使沒有去看它的具體原始碼,也知道要怎麼利用它了。

如GPIO_SetBits,函式的原型為void GPIO_SetBits(GPIO_TypeDef * GPIOx , uint16_tGPIO_Pin)。 它的功能是:輸入一個型別為GPIO_TypeDef的指標GPIOx引數,選定要控制的GPIO埠;輸入GPIO_Pin_x巨集,其中x指埠的引腳號,指定要控制的引腳。

其中輸入的引數 GPIOx為ST標準庫中定義的自定義資料型別,這兩個傳入引數均為結構體指標。初學時,我們並不知道如GPIO_TypeDef這樣的型別是什麼意思, 可以點選函式原型中帶下劃線的 GPIO_TypeDef 就可以檢視這個型別的聲明瞭。

就這樣初步瞭解了一下庫函式,讀者就可以發現STM32的庫是寫得很優美的。每個函式和資料型別都符合見名知義的原則,當然,這樣的名稱寫起來特別長, 而且對於我們來說要輸入這麼長的英文,很容易出錯,所以在開發軟體的時候,在用到庫函式的地方,直接把庫幫助文件中的函式名稱複製貼上到工程檔案就可以了。 而且,配合MDK軟體的程式碼自動補全功能,可以減少輸入量。

有的使用者覺得使用庫文件麻煩,也可以直接查閱STM32標準庫的原始碼,庫幫助文件的說明都是根據原始碼生成的,所以直接看原始碼也可以瞭解函式功能。