stm32 軟件開發流程總結


1. 建立工程模板

  • 建相關文件 夾, 添加庫文件
  • 配置系統宏定義和頭文件包含路徑
  • mdk 軟件配置

2. 配置系統時鍾

系統時鍾是整個系統運行的三要素之一(還有電源、復位),
這里主要配置 分頻系數M、P 倍頻系數 N

3. 測試系統時鍾

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

  • 查看變量 SystmeCoreClock 的值
  • 通過硬件仿真查看

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

修正前:

修正后:

4. 配置系統打印調試串口

嵌入式平台由於資源的限制,一般沒有顯示設備,所以通常通過串口調進行調試

5. 看門狗

  • 在后台主循環里加入 喂狗操作,可防止程序死循環,因得不到及時喂狗,導致程序復位
  • 在中斷里加入喂狗操作(喂狗間隔時間一定要長於主循環里的喂狗時間),防止中斷意外關閉

6. RTC

RTC可以為系統提供時間信息, 定時中斷(喚醒)

7. GPIO 口操作

GPIO 操作流程:
1) 打開外設端口時鍾 RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA, ENABLE);
2) 填充 GPIO_Init_TypeDef 結構體
3) 調用Gpio_Init() 配置端口

注意 :調用Gpio_Init() 函數之前必須先打開外設端口時鍾

8. 定時器

  • 定時器實現精確定時
  • 脈沖計數
  • pwm脈沖

9. 中斷

中斷是前后台系統運行的關鍵, 可提高程序的響應能力
中斷編寫注意事項:

10. I2C

I2C是系統重要的內部總線,用於連接mcu和片上其他外設,只需2根線即可實現數據通訊

11. SPI

SPI是高速的內部總線

12. 搭建系統框架

裸機程序規模增大之后,如果不搭建一個合適的系統框架,系統維護和擴展將會是一件棘手的工作,
常見的系統框架如下:
1)時間片輪詢系統
2)基於消息輪詢的系統
3)轉態機

13. 面向對象的思想編程

用結構體實現封裝
結構體成員變量表示屬性
結構體 函數指針 成員變量表示方法

14. 面向接口的編程

面向接口的編程有如下優點:

  • 高內聚,低耦合
  • 提高系統的可擴展性和可維護性
  • 為實現分層提供了有力的保障


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM