1、 架構(gòu)組成:程序代碼分為四種結(jié)構(gòu)
a) 順序執(zhí)行代碼
定義:按照順序逐行執(zhí)行的代碼
優(yōu)點:是思路簡單,代碼可靠不易被干擾。
缺點:占用資源
用途:只用來各種變量、函數(shù)的定義,硬件的初始化程序
位置:main.c的開始一直到main函數(shù)的while函數(shù)之前
b) 空閑執(zhí)行代碼
定義:在CPU空閑的時候才執(zhí)行的代碼
優(yōu)點:不占用資源
缺點:執(zhí)行的實時性不能保證
用途:非實時任務(wù),調(diào)試信息輸出,不重要的狀態(tài)指示
位置:main.c的main函數(shù)的while函數(shù)內(nèi)部
c) 中斷執(zhí)行代碼
定義:由軟硬件事件打斷整個程序而執(zhí)行的代碼
優(yōu)點:可以保證實時性,各種中斷可以安排優(yōu)先順序
缺點:關(guān)系相對復(fù)雜,互相之間容易干擾
用途:觸發(fā)性的代碼,比如接收數(shù)據(jù),響應(yīng)外部設(shè)備,按鈕的相應(yīng)
位置:stm32f10x_it.c內(nèi)部
d) 循環(huán)執(zhí)行代碼
定義:按照時間周期執(zhí)行的代碼
優(yōu)點:定期自動執(zhí)行
缺點:實時性不好
用途:需要周期執(zhí)行的任務(wù),狀態(tài)檢查及相關(guān)信息輸出,數(shù)據(jù)記錄
位置:stm32f10x_it.c的SysTickHandler內(nèi)部
e) DMA自動代碼
定義:不需要主程序干預(yù),外設(shè)自動執(zhí)行
優(yōu)點:自動刷新數(shù)據(jù),不占用CPU資源
缺點:不能控制
用途:數(shù)據(jù)通信存儲,AD轉(zhuǎn)換
位置:不需要