學習筆記 stm32

2021-09-12 22:28:50 字數 2261 閱讀 2032

簡介cortex核心

cortex-m4核心

庫開發與暫存器開發的關係

stm32 韌體庫與 cmsis 標準

內部結構

最小系統

小馬哥四軸原始碼學習

新建工程

點燈!(gpio)

按鍵暫存器對映

時鐘系統

systick定時器

埠復用和重對映

串列埠串列埠試驗函式分析

中斷看門狗

通用定時器

☆ 階段性總結筆記一

gpio

stm32系列專為要求高效能、低成本、低功耗的嵌入式應用設計的arm cortex®-m0,m0+,m3, m4和m7核心。

按核心架構分為不同產品:

主流產品(stm32f0、stm32f1、stm32f3)、超低功耗產品(stm32l0、stm32l1、stm32l4、stm32l4+)、高效能產品(stm32f2、stm32f4、stm32f7、stm32h7)

stm32型號的說明:以stm32f103rbt6這個型號的晶元為例,該型號的組成為7個部分,其命名規則如下:

部分含義

stm32

stm32代表arm cortex-m核心的32位微控制器。

ff代表芯**系列。

103103代表增強型系列。

rr這一項代表引腳數,其中t代表36腳,c代表48腳,r代表64腳,v代表100腳,z代表144腳,i代表176腳。

bb這一項代表內嵌flash容量,其中6代表32k位元組flash,8代表64k位元組flash,b代表128k位元組flash,c代表256k位元組flash,d代表384k位元組flash,e代表512k位元組flash,g代表1m位元組flash。

tt這一項代表封裝,其中h代表bga封裝,t代表lqfp封裝,u代表vfqfpn封裝。

66這一項代表工作溫度範圍,其中6代表-40——85℃,7代表-40——105℃。

cortex-m4採用armv7-me架構

armv7架構定義了三大分工明確的系列:

「a」系列:面向尖端的基於虛擬記憶體的作業系統和使用者應用

「r」系列:針對實時系統;

「m」系列:對微控制器。

cortex-m3採用armv7-m架構,cortex-m0採用armv6-m架構,cortex-a5/a8採用armv7-a架構, 傳統的arm7系列採用的是armv4t架構。

cortex逐漸替代arm

stm32提供了乙個官方韌體庫,韌體庫就是函式的集合,韌體庫函式的作用是向下負責與暫存器直接打交道,向上提供使用者函式呼叫的介面(api)。

這個很容易理解,就好像c++裡一開始要自己寫字串操作函式,而官方直接把這些函式封裝起來,就不需要我們來寫,直接呼叫就行了

cmsis 分為 3 個基本功能層:

中介軟體訪問層:定義訪問中介軟體的通用 api。由 arm 提供,晶元廠商根據需要更新。

外設訪問層:定義硬體暫存器的位址以及外設的訪問函式。

從圖中可以看出,cmsis 層在整個系統中是處於中間層,向下負責與核心和各個外設直接打交

道,向上提供實時作業系統使用者程式呼叫的函式介面。如果沒有 cmsis 標準,那麼各個晶元公

司就會設計自己喜歡的風格的庫函式,而 cmsis 標準就是要強制規定,晶元生產公司設計的庫

函式必須按照 cmsis 這套規範來設計。

晶元資源

st mcu選型手冊 查晶元型號

核心

匯流排

儲存器

io口

外設介面

STM32學習筆記

剛到公司實習,要學習stm32開發,boss給了一塊戰艦開發板,讓我自己寫乙個功能要用在公司的產品上。難啊。以前根本沒接觸過stm32,只能一步一步慢慢來,利用晚上利用週末惡補一下。哎,算是為了大學前兩年還債吧。一 跑馬燈實驗 gpio輸出 實驗環境 keil4 實驗平台 戰艦stm32開發板 gp...

stm32學習筆記

開漏模式輸出 輸出暫存器上的 0 啟用 n mos,而輸出暫存器上的 1 將埠 置於高阻狀態 p mos從 被啟用 推挽模式輸出 輸出暫存器上的 0 啟用 n mos,而輸出暫存器上的 1 將啟用 p mos。上拉輸入 輸入高電平,然後接乙個 上拉電阻 保護作用 讀取此時的引腳電平為高電平 下拉輸入...

STM32 學習筆記

axf error l6218e undefined symbol referred from x.o 例如 mdk 報錯 stm32f103.axf error l6218e undefined symbol time1 8 init referred from led.o 分析 undefine...