一、
stm32韌體
庫
學習
1.建立模板
模板是按照附件的方法建立的,共建立了
4個資料夾:
cmsis
、startup
、user
、project
。在project
中還建立了
2個資料夾:
obj和
listing
,用於存放目標檔案和列表檔案。最終的物理目錄如下。
在mdk4.23
中建立相應的目錄,實際上除了
misc.c
和stm32f10xrcc.c
是必須的外,其它的庫根據需要剪裁。
2.整理庫**
根據所選的晶元型別將
libraries\cmsis\cm3\devicesupport\st\stm32f10x\startup\arm\
下對應的啟動檔案
system_stm32f10x.c, system_stm32f10x.h
這兩個檔案提供函式用來初始化
stm32
晶元,配置
pll、系統時鐘和內建
flash
介面。
事實上,
stm32
標準外設庫的使用在
stm32f10x_stdperiph_lib_um.chm
中的how to use the library
一節中已有說明,主要步驟如下:
a. 根據所選晶元,把
libraries\cmsis\cm3\devicesupport\st\stm32f10x\startup\arm
中的啟動**加到工程中。這裡,我將
startup_stm32f10x_md.s
拷貝到libraries\startup
資料夾中。
b. 在stm32f10x.h
的66-73
行,根據所選晶元型別,去掉相應注釋,這裡我去掉
stm32f10x_md
行的注釋。
c. 去掉105
行的use_stdperiph_driver
注釋,啟用
stm32
標準外設庫。
d. 在system_stm32f10x.c
的110-115
行,根據所選晶元主頻,去掉相應注釋,預設
sysclk_freq_72mhz
注釋已去掉,如果你的晶元主頻是
72mhz
,就不用做修改了。
3.編寫檔案
將模板另存,改工程名,編寫相應的
main
函式和**。
按照李想老師的教程,庫函式編寫程式時,在
main
中首先是呼叫
rcc_configuration()
。而rcc_configuration()
函式用於配製晶元時鐘,**如下:
實際上如按照上述步驟整理後,除開啟
gpiob
、gpioa
時鐘**外,其餘已不需要,在
system_stm32f10x.c
中已經為我們做了上述的時鐘配製工作了。
system_stm32f10x.c
由此看見,
system_stm32f10x.c
中已經完成了
rcc_configuration()
的相同的時鐘配製。
此外,在
stm32f10x_conf.h
檔案中,可以注釋掉一些不用的外圍標頭檔案。
(詳見附件)
stm32學習筆記一
最近小毅入手了一塊stm32,考慮到其arm cotexm3核心的強大性,決定學學。今天是第一次接觸,先從簡單的開始。小毅使用的開發環境是windows下的rvmdk,是keil的乙個版本,keil大家都不陌生吧,哈哈,學過51的都知道,就不贅述了。遇到了第乙個問題 led.axf error l6...
STM32學習筆記之一 初窺STM32
怎麼做好學習筆記?答 自我感知 學習知識 歸納總結 自我昇華 真正屬於自己的知識是,拋開書本,運用時,你還能記得的思想 自我感知 看到知識概念,先自我感覺那應該是個什麼東西 如 暫存器 寄存東西 資料 的地方嘛 學習知識 有了自我感知後,就需要驗證自己的感知是否正確,請記住,帶著自己思想的學習是最高...
STM32學習筆記
剛到公司實習,要學習stm32開發,boss給了一塊戰艦開發板,讓我自己寫乙個功能要用在公司的產品上。難啊。以前根本沒接觸過stm32,只能一步一步慢慢來,利用晚上利用週末惡補一下。哎,算是為了大學前兩年還債吧。一 跑馬燈實驗 gpio輸出 實驗環境 keil4 實驗平台 戰艦stm32開發板 gp...