新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > STM32筆記之十四:基本問題,來討論一下軟件架構(gòu)

STM32筆記之十四:基本問題,來討論一下軟件架構(gòu)

作者: 時間:2016-11-26 來源:網(wǎng)絡(luò) 收藏
網(wǎng)上大家都在討論和學(xué)習(xí),但是對于架構(gòu)這個基本問題卻沒幾個人討論。個人認(rèn)為有個好的架構(gòu)是寫好代碼的基礎(chǔ),可以使后期的調(diào)式工作事半功倍??!

1、架構(gòu)組成:我的程序代碼分為四種結(jié)構(gòu)

本文引用地址:http://m.butianyuan.cn/article/201611/322068.htm

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)換

位置:不需要

2、架構(gòu)執(zhí)行順序圖


關(guān)鍵詞: STM32軟件架

評論


技術(shù)專區(qū)

關(guān)閉