新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > STM32筆記之十四:基本問題,來討論一下軟件架構

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

        作者: 時間:2016-11-26 來源:網絡 收藏
        網上大家都在討論和學習,但是對于架構這個基本問題卻沒幾個人討論。個人認為有個好的架構是寫好代碼的基礎,可以使后期的調式工作事半功倍!!

        1、架構組成:我的程序代碼分為四種結構

        本文引用地址:http://www.104case.com/article/201611/322068.htm

        a)順序執行代碼

        定義:按照順序逐行執行的代碼

        優點:是思路簡單,代碼可靠不易被干擾。

        缺點:占用資源

        用途:只用來各種變量、函數的定義,硬件的初始化程序

        位置:main.c的開始一直到main函數的while函數之前

        b)空閑執行代碼

        定義:在CPU空閑的時候才執行的代碼

        優點:不占用資源

        缺點:執行的實時性不能保證

        用途:非實時任務,調試信息輸出,不重要的狀態指示

        位置:main.c的main函數的while函數內部

        c)中斷執行代碼

        定義:由軟硬件事件打斷整個程序而執行的代碼

        優點:可以保證實時性,各種中斷可以安排優先順序

        缺點:關系相對復雜,互相之間容易干擾

        用途:觸發性的代碼,比如接收數據,響應外部設備,按鈕的相應

        位置:stm32f10x_it.c內部

        d)循環執行代碼

        定義:按照時間周期執行的代碼

        優點:定期自動執行

        缺點:實時性不好

        用途:需要周期執行的任務,狀態檢查及相關信息輸出,數據記錄

        位置:stm32f10x_it.c的SysTickHandler內部

        e)DMA自動代碼

        定義:不需要主程序干預,外設自動執行

        優點:自動刷新數據,不占用CPU資源

        缺點:不能控制

        用途:數據通信存儲,AD轉換

        位置:不需要

        2、架構執行順序圖


        關鍵詞: STM32軟件架

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 南木林县| 南皮县| 靖西县| 镶黄旗| 宁明县| 杭州市| 韶关市| 阳原县| 玉山县| 玉林市| 定边县| 舟曲县| 武山县| 和顺县| 陵川县| 湖州市| 潜山县| 昌邑市| 乐安县| 讷河市| 拜城县| 定结县| 丁青县| 临清市| 灵寿县| 兴文县| 塔河县| 色达县| 循化| 藁城市| 崇左市| 棋牌| 宁乡县| 环江| 宜丰县| 广东省| 呼图壁县| 秦皇岛市| 建湖县| 繁昌县| 通山县|