STM32單片機超詳細學(xué)習資料,看完就懂了
1、在STM32內部,FSMC的一端通過(guò)內部高速總線(xiàn)AHB連接到內核Cortex-M3,另一端則是面向擴展存儲器的外部總線(xiàn)。
本文引用地址:http://dyxdggzs.com/article/201808/390933.htm內核對外部存儲器的訪(fǎng)問(wèn)信號發(fā)送到AHB總線(xiàn)后,經(jīng)過(guò)FSMC轉換為符合外部存儲器通信規約的信號,送到外部存儲器的相應引腳,實(shí)現內核與外部存儲器之間的數據交互。
2、FSMC中的DATASET和ADDSET的設置需要參看外部存儲器的時(shí)序圖來(lái)確定。
一般而言,DATASET指的是數據建立時(shí)間,也就是讀/寫(xiě)信號開(kāi)始到讀/寫(xiě)信號停止(上升沿存儲數據)的持續時(shí)間。(一般來(lái)說(shuō)寫(xiě)比讀快!)。
而ADDSET指的是地址建立時(shí)間,指的是片選之后到讀/寫(xiě)操作之前的時(shí)間,這是針對SRAM來(lái)說(shuō)的,如果操縱的是TFT,不存在地址線(xiàn),所以此時(shí)的ADDSET就是讀/寫(xiě)信號結束到RS電平的轉換時(shí)間。

3、

4、

5、FSMC的三個(gè)配置寄存器:FSMC_BCRx(片選控制配置)、FSMC_BTRx(片選時(shí)序)、FSMC_BWTRx(片選寫(xiě)時(shí)序)。
6、RTC時(shí)鐘配置必須要用到BKP寄存器,BKP寄存器在單片機復位、電源復位、待機喚醒模式下是不會(huì )更改值的,他的供電由VDD供電,VDD被切斷后自動(dòng)切換至外部的VBAT供電。
7、要修改BKP寄存器的值,必須取消其寫(xiě)保護的標志。BKP寄存器在上電時(shí)自動(dòng)寫(xiě)保護。
8、Stm32有三種省電模式:

三種省電模式中,耗電量從上到下依次降低,待機模式的電流僅為2uA。
9、從待機模式中喚醒單片機等效于讓單片機復位,但是電源寄存器的值會(huì )有一個(gè)標志位指示單片機是被喚醒的,不是被復位的。
10、ADC的時(shí)鐘不要超過(guò)14MHz,否則轉換精度會(huì )下降。最大轉換速率為1MHz,即轉換周期為1us(14MHz,采樣周期為1.5個(gè)ADC時(shí)鐘)
11、Tcovn=采樣時(shí)間+12.5個(gè)周期。采樣時(shí)間盡量選長(cháng)一點(diǎn),這樣精度高一些,但是轉換速率下降,這也是有利必有弊。
12、

13、拿ARM7TDMI來(lái)說(shuō),T代表Thumb指令集,D是說(shuō)支持JTAG調試(Debugging),M意指快速乘法器,I則對應一個(gè)嵌入式ICE模塊。
14、MMU作為嵌入式處理器與應用處理器的分水嶺標志à具有內存管理單元的嵌入式處理器可以定位為應用處理器。
這么說(shuō)M系列和A系列的處理器的區別在于A(yíng)系列的處理器具有MMU單元可以進(jìn)行內存模塊的管理。
15、ARM處理器有兩種狀態(tài):ARM狀態(tài)和Thumb狀態(tài)。

16、這張圖說(shuō)明了一切:Thumb2指令集做了一件很偉大的事情:將16位和32位的指令集融為一體,兼容性非常強!(這么說(shuō)CM3不支持某些32位ARM指令集??)
17、

18、MSP是系統復位后使用的堆棧指針,PSP由用戶(hù)的代碼使用。兩個(gè)堆棧指針為4字節對齊!!
19、在A(yíng)RM編程領(lǐng)域中,凡是打斷程序運行的事件,統稱(chēng)為異常(exception)。
20、因為存在LR(鏈接寄存器),所以可支持1級的子程序調用而不用壓棧到內存,大大提高了運行速度。---à這就是說(shuō),我們在編程的時(shí)候,一級調用是不會(huì )耗費太多時(shí)間的,除非是二級調用!
評論