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標准庫的源碼,庫幫助文檔的說明都是根據源碼生成的,所以直接看源碼也可以了解函數功能。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM