stm32 軟體開發流程總結

2022-07-14 17:48:15 字數 991 閱讀 4198

系統時鐘是整個系統執行的三要素之一(還有電源、復位),

這裡主要配置 分頻係數m、p 倍頻係數 n

配置完系統時鐘,還要驗證一下時鐘是否是我們所期望的,這裡提供幾種方法,僅供參考:

內部時鐘存在偏差,可通過修改校準暫存器的值修正,以下是修正前後從mco時鐘輸出引腳測得的內部高速時鐘頻率

修正前:

修正後:

嵌入式平台由於資源的限制,一般沒有顯示裝置,所以通常通過串列埠調進行除錯

rtc可以為系統提供時間資訊, 定時中斷(喚醒)

gpio 操作流程:

1) 開啟外設埠時鐘rcc_ahb1periphclockcmd(rcc_ahb1periph_gpioa, enable);

2) 填充 gpio_init_typedef 結構體

3) 呼叫gpio_init() 配置埠

注意 :呼叫gpio_init() 函式之前必須先開啟外設埠時鐘

中斷是前後臺系統執行的關鍵, 可提高程式的響應能力

中斷編寫注意事項:

i2c是系統重要的內部匯流排,用於連線mcu和片上其他外設,只需2根線即可實現資料通訊

spi是高速的內部匯流排

裸機程式規模增大之後,如果不搭建乙個合適的系統框架,系統維護和擴充套件將會是一件棘手的工作,

常見的系統框架如下:

1)時間片輪詢系統

2)基於訊息輪詢的系統

3)轉態機

用結構體實現封裝

結構體成員變數表示屬性

結構體 函式指標 成員變數表示方法

面向介面的程式設計有如下優點:

STM32啟動流程

先闡述乙個問題,嵌入式應用程式以c語言為主,因此main函式成為程式執行的起點,但是我們忽略了乙個問題 mcu 微控制器 微控制器 上電之後,是如何尋找並執行main函式的呢?stm32晶元自帶的啟動方式有3種,通過設定boot1 boot0的引腳的高低電平即可選擇。系統儲存器啟動是將程式寫入到一塊...

STM32的GPIO開發總結

gpio開發總結 gpio模式 a 浮空輸入 in floating b 帶上拉輸入 ipu in push up c 帶下拉輸入 ipd in push down d 模擬輸入 ain anolog in e 開漏輸出 out pd od 代表開漏,既open drain,oc代表開集,open ...

STM32簡易示波器開發總結

一.stm32內部da作為訊號源 二.stm23內部ad不間斷取樣 匯流排72mhz,6分頻,55.5個週期的取樣時間,大概有160khz的取樣頻率 不知道現在數字示波器還是不是和模擬的一樣用掃瞄訊號,沒有仔細去找相關資料,但是感覺完全可以用足夠的取樣率和儲存深度恢復波形 三.dma匯流排傳輸 單次...