資料介紹
我們在入門階段,一般面對的設(shè)計都是單一的簡單的任務(wù),流程圖可以如圖1所示,通常會用踏步循環(huán)延時來滿足任務(wù)需要。
面對多任務(wù),稍微復(fù)雜的程序設(shè)計,沿用圖1的思想,我們會做出如圖2所示的程序,在大循環(huán)體中不斷增加任務(wù),通常還要用延時來滿足特定任務(wù)節(jié)拍,這種程序設(shè)計思想它有明顯的不足,主要是各個任務(wù)之間相互影響,增加新的任何之后,以前很好的運行的任務(wù)有可能不正常,例如數(shù)碼管動態(tài)掃描,本來顯示效果很好的驅(qū)動函數(shù),在增加新的任務(wù)后出現(xiàn)閃爍,顯示效果變差了。
很明顯,初學者在設(shè)計程序時,需要從程序構(gòu)架思想上下功夫,在做了大量基本模塊練習之后,需要總結(jié)提煉自己的程序設(shè)計思路(程序架構(gòu)思想)。
首先我們來理解“任務(wù)”,所謂任務(wù),就是需要CPU周期“關(guān)照”的事件,絕大多數(shù)任務(wù)不需要CPU一直“關(guān)照”,例如啟動ADC的啟動讀取。甚至有些任務(wù)“害怕”CPU一直“關(guān)照”例如LCD的刷新,因為LCD是顯示給人看的,并不需要高速刷新,即便是顯示的
內(nèi)容在高速變化,也不需要高速刷新,道理是一樣的。這樣看來,讓CPU做簡單任務(wù)一定很浪費,事實也是如此,絕大多數(shù)簡單任務(wù),CPU都是在“空轉(zhuǎn)”(循環(huán)踏步延時)。對任務(wù)總結(jié)還可以知道,很多任務(wù)需要CPU不斷“關(guān)照”,其實這種“不斷”也是有極限的,比如數(shù)碼管動態(tài)掃描,能夠做到40Hz就可以了,又如鍵盤掃描,能夠做到20Hz(經(jīng)驗值),基本上也就不會丟有效按鍵鍵值了,再如LCD刷新,我覺得做到10Hz就可以了,等等??磥?,絕大多數(shù)任務(wù)都是工作在低速頻度。而我們的CPU一旦運行起來,速度又很快,CPU本身就是靠很快的速度執(zhí)行很簡單的指令來勝任復(fù)雜的任務(wù)(邏輯)的。如果有辦法把“快”的CPU分成多個慢的CPU,然后給不同的任務(wù)分配不同速度的CPU,這種設(shè)想是不是很好呢!確實很好,下面就看如何將“快”的CPU劃分成多個“慢”的CPU。
根據(jù)這種想法,我們需要合理分配CPU資源來“關(guān)照”不同的任務(wù),最好能夠根據(jù)任務(wù)本身合理占用CPU資源,首先看如圖3所示的流程圖,各個任務(wù)流程獨立,各任務(wù)通過全局變量來交互信息,在流程中有一個重要的模塊“任務(wù)切換”,就是任務(wù)切換模塊實現(xiàn)CPU合理分配,這個任務(wù)切換模塊是怎么實現(xiàn)的呢?
- LabVIEW的程序實例詳細資料說明 142次下載
- URAT VHDL的程序與仿真詳細資料說明 11次下載
- USB串口驅(qū)動程序主機的詳細資料說明 4次下載
- Protel DXP的常用快捷鍵詳細資料說明 0次下載
- 程序的轉(zhuǎn)移類指令詳細資料說明
- Arduino程序結(jié)構(gòu)及基本函數(shù)的詳細資料說明
- 使用MATLAB程序計算車位位置的詳細資料說明 3次下載
- LED顯示的電路圖和程序及詳細資料說明 13次下載
- 雷達管制程序與方法的詳細資料說明 26次下載
- Visual FoxPro程序設(shè)計教程之結(jié)構(gòu)化程序設(shè)計的詳細資料說明 8次下載
- Java程序設(shè)計教程之異常處理的詳細資料說明 13次下載
- C++的實驗教程之循環(huán)結(jié)構(gòu)程序設(shè)計的詳細資料說明 4次下載
- C語言程序設(shè)計教程之數(shù)組的詳細資料說明 7次下載
- JAVA程序設(shè)計教程之數(shù)組的詳細資料說明 0次下載
- 復(fù)雜的多任務(wù)程序設(shè)計方法 181次下載
- 如何利用FreeRTOS的多任務(wù)機制優(yōu)化程序呢? 560次閱讀
- RA FreeRTOS任務(wù)創(chuàng)建 480次閱讀
- 基于多任務(wù)預(yù)訓(xùn)練模塊化提示 582次閱讀
- 固態(tài)鋰離子電池的詳細資料解析 8650次閱讀
- RS232接口串口取電電路的詳細資料介紹 7863次閱讀
- 單片機多任務(wù)處理方案 9315次閱讀
- 如何進行PLC控制程序的設(shè)計詳細資料PPT說明 5753次閱讀
- 庫卡機器人模擬量輸入輸出編程的詳細資料概述 6623次閱讀
- PPT教程之伺服電機及其驅(qū)動技術(shù)的詳細資料講解 6990次閱讀
- 遷移學習、多任務(wù)學習領(lǐng)域的進展 3860次閱讀
- PLC常用基本環(huán)節(jié)梯形圖和詳細文字說明詳細資料概述 8966次閱讀
- 變壓器保護的基本要求,保護配置和運行規(guī)定的詳細資料概述 8485次閱讀
- ABB機器人怎樣多任務(wù)?ABB機器人多任務(wù)使用方法步驟詳解 3.1w次閱讀
- NLP多任務(wù)學習案例分享:一種層次增長的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu) 4325次閱讀
- 基于高檔數(shù)控系統(tǒng)的實時多任務(wù)實現(xiàn) 1294次閱讀
下載排行
本周
- 1XL4015+LM358恒壓恒流電路圖
- 0.38 MB | 137次下載 | 1 積分
- 2PCB布線和布局電路設(shè)計規(guī)則
- 0.40 MB | 4次下載 | 免費
- 3TPS6287B25降壓轉(zhuǎn)換器評估模塊
- 3.46MB | 1次下載 | 免費
- 4INA226EVM用戶指南
- 4.7MB | 1次下載 | 免費
- 5INA226EVM修訂版A模型用戶指南和軟件教程
- 2.28MB | 1次下載 | 免費
- 6Altium Designer印刷電路板設(shè)計與制作PDF電子書免費下載
- 14.11 MB | 0次下載 | 3 積分
- 7DLPC3470和DLPC3478軟件編程人員指南
- 1.68MB | 次下載 | 免費
- 8TPS1213-Q1智能高側(cè)驅(qū)動器評估模塊
- 1.63MB | 次下載 | 免費
本月
- 1XL4015+LM358恒壓恒流電路圖
- 0.38 MB | 137次下載 | 1 積分
- 2新概念模擬電路第四冊信號處理電路電子書免費下載
- 10.69 MB | 60次下載 | 免費
- 3800VA純正弦波逆變器的參考設(shè)計
- 2.96MB | 34次下載 | 免費
- 4純電動汽?的主要部件及?作原理
- 5.76 MB | 15次下載 | 5 積分
- 5JESD79-5C_v1.30-2024 內(nèi)存技術(shù)規(guī)范
- 2.71 MB | 10次下載 | 免費
- 6elmo直線電機驅(qū)動調(diào)試細則
- 4.76 MB | 9次下載 | 6 積分
- 7明偉電源模塊RSP-3000圖紙
- 0.30 MB | 8次下載 | 免費
- 8使用BQ76PL102系列電量計進行BQ78PL114的快速入門指南
- 4.04MB | 7次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935115次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計
- 1.48MB | 420061次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233084次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費下載
- 340992 | 191366次下載 | 10 積分
- 5十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183329次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81581次下載 | 10 積分
- 7Keil工具MDK-Arm免費下載
- 0.02 MB | 73805次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65985次下載 | 10 積分
評論
查看更多