既然已經做好了開發stm32的準備,軟體硬體都準備好了,那麼我們來了解一下何為stm32吧。
stm32是意法半導體(st)設計的一系列32位晶元的名字,細分為l、f、h三個系列。
f系列是最經典的系列。f系列的基礎晶元是f1系列,**低廉,麻雀雖小五臟俱全,我做課程設計最喜歡用的就是stm32f103c8t6的最小系統板輔以洞洞板,加焊幾個模組上去,完成課程設計不要太輕鬆。高效能的f4、f7系列;
h系列就是高效能的微控制器系列,主頻可以達到200mhz,並且最新的h7還是多核異構的,這意味著可以用其中乙個核做控制,另乙個核專門做影象等演算法處理;
l系列為低功耗系列,在物聯網裝置上常見到他們的影子。
stm32與51的區別。首先從位數上來看stm32是32位晶元,定址空間為32位,暫存器長度為32位,而51微控制器只有可憐的8位。高位數帶來的好處就是32可以擁有更大的rom和flash,處理資料的能力更強。從指令集的角度來看,32執行的arm精簡指令集,執行效率上要比傳統的51指令集要快。傳統的51指令集1個機器週期需要12個時鐘週期或者24個時鐘週期,而32的指令集乙個機器週期往往都在1個時鐘週期以內(datasheet中的資料為1m時鐘,執行的指令平均為1.25m,因為不同指令占用的時鐘週期也是不相同,例如位移指令就要比乘除指令快)。當然目前也有先進的51指令集,例如c8051系列使用的cip51核心的指令往往都在1到2個時鐘週期,只有4條指令大於4個時鐘週期。從這點上來看stm32執行效率是遠超傳統51微控制器的。通常stm32支援幾十兆主頻(64m,72m等)而傳統的51微控制器卻支援不到這麼高的頻率。也就是說拋去位數和指令集的優勢,stm32的處理能力也超過51微控制器的。
這裡使用一張stm32f103的內部結構圖來展示stm32的結構:
通常閱讀晶元手冊時,首先閱讀內部結構這一部分有助於快速了解這塊晶元的工作原理、晶元外設等。從這張圖上可以看出stm32擁有許多對外介面,包括gpio,uart,iic,spi,adc,dac等。stm32內部外設匯流排為ahb->apb1和apb2。在apb1上掛著gpio、tim1、tim8等外設。在apb2上掛著tim2、tim3、usart2、uart4等外設。這裡就了解乙個大概,不需要完全記下來,在使用對應的外設時能通過這張圖找到對應的匯流排即可。
stm32內部的時鐘樹如下:
時鐘就是微控制器的心臟,所有的指令,外設都是根據時鐘來工作的,時鐘出問題,再漂亮的**都無法正常工作。因此需要好好掌握stm32的時鐘樹。這裡和內部結構一樣,在這一章中只做了解,不需要完全掌握,在使用外設的過程中逐步掌握時鐘樹即可。
看到這裡,你也許對stm32有了乙個大概的認識,也許什麼也沒有看懂,不過沒關係,這一章本來就是不用看系列,跳過看下一章也沒問題。
預熱2 什麼是STM32?認識STM32
1 什麼是stm32 stm32是由arm公司設計,意法半導體 st 公司生產的基於 arm cortex m 核心的32 位的mcu 系列。2 stm32能做什麼?stm32 屬於乙個微控制器,適用於控制類,自帶了各種常用通訊介面,比如 usart i2c spi 等,可接非常多的感測器,可以控制...
STM32 什麼是通訊?
按資料傳送的方式,通訊可分為序列通訊與並行通訊,序列通訊是指裝置之間通過少量資料訊號線 一般是 8 根以下 地線以及控制訊號線,按資料位形式一位一位地傳輸資料的通訊方式。而並行通訊一般是指使用 8 16 32 及 64 根或更多的資料線進行傳輸的通訊方式。並行通訊就像多個車道的公路,可以同時傳輸多個...
STM32學習筆記
剛到公司實習,要學習stm32開發,boss給了一塊戰艦開發板,讓我自己寫乙個功能要用在公司的產品上。難啊。以前根本沒接觸過stm32,只能一步一步慢慢來,利用晚上利用週末惡補一下。哎,算是為了大學前兩年還債吧。一 跑馬燈實驗 gpio輸出 實驗環境 keil4 實驗平台 戰艦stm32開發板 gp...