編者 序
作為一個還在校園里的本科生,我受夠了封閉的,腐朽的,令人壓抑的,所謂的大學高等教育。我只是想說,在我們疲于應付考試,忙于爭奪獎學金,有志于參加比賽,拼命考取證書之外,我們是否想過,我們真正學到過什么?我們是否問過自己,我們喜歡什么?我們是否觀察過社會,社會需要什么人才?四年的光陰,就在這迷惘泛濫成災的大學校園里,一分一秒,一時一刻,一年一月地消磨掉?我可以問心無愧的說,我不是在消磨時間,我的大學沒白讀,因為我學到了那么一點東西。但我也糾結過,也迷茫過,也矛盾過。當我每次打完電話給家人,就要掛的時候,他們最后的叮囑都是,要用功學習。我沒有用功學習,我不像大多數人一樣,拼命地把每一門課程的考試成績都保持在 90 分以上,我拼命做的是別的事情,我不在乎獎學金,我也不在乎考試成績,進不進學生會也無所謂,我只想學,學以致用。所以我也無法向家人證明,我努力了,但我堅信我堅持的是對的,即使我走的是“獨木橋” 。 我身邊有一些同學對 51 單片機很感興趣,于是除了看統一訂的課本之外,還到圖書館借一些書來看, 他們習慣了學一樣東西, 就要看這方面的書, 教科書,越厚越好。殊不知,除了數據手冊,其他的絕大多書都是浮云。而且引用一位神人說過的話,資料被翻譯成中文的芯片,都是被人用爛了的,再看這種資料已經走在別人后面了。這話雖然說得絕對,但也不無道理。所以我在這里要做的是,參考數據手冊,記錄其中的要點,總結出配置寄存器的步驟,寫出自己的程序,僅此而已。
小船
于 廣東石油化工學院測控實驗室
前言
意法半導體 2011 年 9 月份新推出的 cortex-m4 內核微控制器 stm32f407VG,主頻達到 168M,帶 FPU,單周期 DSP 指令,如果出貨量跟的上,st 將會再一次席卷 MCU 市場。 而 TI 也早早地發布了自家的 cm4 處理器,業界首款 65nm Cortex M4 MCU 系列——Stellari。飛思卡爾,Atmel 等等在 cortex-m3 上被 ST 占了先機的巨頭們,也不甘落后,紛紛推出自家的 M4。在 cortex-m4 的市場上,將不會是 ST 一家獨大。 與STM32f4 的高頻率, 大容量, 隱隱約約威脅低端 DSP 市場的定位不同,TI 的 M4 是為了搶 ST 的 M3 市場的,而 NXP 則傾向于 M4-M0 的雙核結構,在未來的 M4 市場上,誰家會勝出?我們拭目以待。 我之所以選擇 stm32f4-discovery 作為硬件平臺,是因為它相對于我們學生來說比較便宜, 比較方便。 一塊小板子上集成仿真器, 加速度傳感器, MEM 話筒,音頻功放芯片,只需要一根 USB 線連到電腦上就可以調試了,絕對對得起一百來塊的價格,而且這種小板子是意法半導體公司為了推廣他的芯片而推出的,在價格上比較平民。雖然這種板子不帶有視頻教程,但是可以到 ST 官網上下載相應的庫函數例程。雖然還沒有中文數據手冊,但我覺得看懂英文數據手冊是一個工程師所要具備的技能。 雖然我不是一名工程師, 但我有一顆成為工程師的心^*^。 編譯器之所以選擇IAR而不是Keil, 是因為我覺得IAR的編譯效率是最高的,尤其是在編譯大工程的時候,而且它有很多的設置能使得調試比較方便,比如可以為工程設置幾種配置,每種配置設定編譯不同的文件,定義不同的宏,選擇不同的優化等級,等等,我在搞 Zigbee 協議棧的時候深有體會。Keil 也有他的特色,比如代碼編輯比較人性化,快速注釋等。 為什么我會去操作寄存器而不直接用庫函數,是因為直接操作寄存器會對芯片底層的工作比較了解, 對整個程序的細節都很清楚, 寫出來的代碼效率會很高。 然后我們手上所需要的數據手冊有:
《Cortex™-M4 Devices Generic User Guide》ARM 的 M4 用戶手冊
《RM0090 Reference manual》ST 的 stm32f4 系列參考手冊
《stm32f407_datasheet》stm32f407 的數據手冊
STM32F407VGT6 微控制器的時鐘
復位后默認選擇 16 MHz的內部 RC振蕩器作為時鐘。這個 RC振蕩器有 1%的精度,用戶也可以選擇外部的 RC振蕩器或 4‐26 MHz 的時鐘源,如果檢測到這個時鐘出現故障,系統將會自動切換回內部 RC振蕩器并產生一個軟件中斷(如果啟用) 。
該時鐘源輸入到一個 PLL 從而允許陪頻到 168 MHz。
通過多個預分頻器可以分別配置的兩條 AHB 總線,高速總線 APB(APB2)和低速總線APB(APB1) 。AHB 最高頻率為 168M,高速 APB 的最高頻率為 84M,低速 APB 最高頻率為42M。
芯片內嵌入了另一個 PLL(PLLI2S)從而允許 I2S主時鐘產生所有從 8 kHz至 192 kHz 的頻率。
系統時鐘(SYSCLK)可以從以下三個不同的時鐘源中選擇:
HSI 指振蕩器時鐘
HSE振蕩器時鐘
鎖相環(PLL)時鐘
兩個可選低速時鐘源(用于實時時鐘和獨立看門狗) :
內置 32K 時鐘
外接 32.768K時鐘
完整的pdf格式文檔51黑下載地址(共146頁):
我的stm32f4學習歷程.pdf
(4.95 MB, 下載次數: 161)
2018-4-16 15:20 上傳
點擊文件名下載附件
|