精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

單片機(jī)多任務(wù)處理方案

姚小熊27 ? 來源:xx ? 作者:電工之家 ? 2019-09-13 15:45 ? 次閱讀

單片機(jī)只有一個CPU,一次只能執(zhí)行一條指令,要處理多任務(wù),相當(dāng)于多個任務(wù)同時執(zhí)行,只有靠分時。

如果沒有實時操作系統(tǒng),自己做多任務(wù)處理很難的。

如果是采集通信數(shù)據(jù)處理輸入輸出這樣的常規(guī)任務(wù),可以采用中斷方式,中斷服務(wù)程序處理實時任務(wù),分析計算等任務(wù)放入主程序中。

多任務(wù)協(xié)調(diào),可用狀態(tài)自動機(jī)模型處理。

普通單片機(jī)內(nèi)部只有一個核,只能順序執(zhí)行指令,同一時刻不能并行執(zhí)行多條指令。

所謂的多任務(wù),也是分時執(zhí)行實現(xiàn)的。只是任務(wù)切換的非???,人感覺不滿任務(wù)的切換,像同時執(zhí)行一樣。

單片機(jī)要執(zhí)行多任務(wù),可以使用中斷的方式,也可以使用操作系統(tǒng),目前有一些適用于單片機(jī)的小型操作系統(tǒng)。

單個核心不可能真正同時處理兩個任務(wù)。一般來說,單片機(jī)主要是處理外設(shè)中斷,產(chǎn)生中斷的時候,主循環(huán)是停止執(zhí)行的,實際上是分時處理。如果要處理多個任務(wù),最簡單的是用實時系統(tǒng)RTOS,創(chuàng)建多個任務(wù)即可,還可以定義優(yōu)先級。如果要做到真正意義上的同時處理,就要用多核芯片。裸機(jī)系統(tǒng)可用片內(nèi)定時器產(chǎn)生中斷來切換任務(wù)。

首先、單片機(jī)多任務(wù)處理方案有哪些?

1、采用實時操作系統(tǒng)rtos

也是我們所說的實時操作系統(tǒng),rtos本身已經(jīng)實現(xiàn)了多任務(wù)調(diào)度算法,我們不在關(guān)心如何調(diào)度的問題,我們只需要根據(jù)rtos的api來創(chuàng)建多任務(wù)即可。常見的rtos有freertos,uc/OS,華為liteOS,t-thread等等。

2、采用有限狀態(tài)機(jī)(State Machine)

也可通過一幅簡單的示意圖(也叫「狀態(tài)轉(zhuǎn)移圖」)表示出來:

在單片機(jī)程序設(shè)計中,如果一個系統(tǒng)需要處理一系列連續(xù)發(fā)生的任務(wù),或在不同的模式下對輸入進(jìn)行不同的處理,常常使用有限狀態(tài)機(jī)實現(xiàn)。例如測量、監(jiān)測、控制等控制邏輯型應(yīng)用。

其次、如何選擇單片機(jī)多任務(wù)調(diào)度方案

和rtos相比,狀態(tài)機(jī)占用的系統(tǒng)資源少,省去了系統(tǒng)調(diào)度定時器,沒有rtos占用的內(nèi)存也少了,但是需要程序人員來完成多任務(wù)調(diào)度。

從上面可以看出,如果單片機(jī)資源很有限,多任務(wù)邏輯又比較簡單,建議選擇狀態(tài)機(jī)方法。如果多任務(wù)很復(fù)雜,功能比較多,單片機(jī)功能比較強(qiáng),rtos占用的資源可以忽略不計,那就可以考慮采用rtos來完成。采用rtos可以比較容易的實現(xiàn)模塊化設(shè)計。但是rtos需要注意的是多任務(wù)間的優(yōu)先級和多任務(wù)間的通信問題。

最后、單片機(jī)多任務(wù)如何選擇?

對于大部分編程來說其實一般的狀態(tài)機(jī)就夠了,小編也曾經(jīng)十分推崇rtos,但是到后來發(fā)現(xiàn),其實越是邏輯簡單,程序越是容易編寫,出錯的概率越小。大道至簡,小編現(xiàn)在大部分程序都是裸奔了,當(dāng)然小編自創(chuàng)的異步編程也是相當(dāng)?shù)谋憷?/p>

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 單片機(jī)
    +關(guān)注

    關(guān)注

    6032

    文章

    44514

    瀏覽量

    632950
收藏 人收藏

    評論

    相關(guān)推薦

    單片機(jī)分時多任務(wù)

    本帖最后由 eehome 于 2013-1-5 09:44 編輯 單片機(jī)分時多任務(wù)
    發(fā)表于 08-17 15:56

    51單片機(jī)多任務(wù)設(shè)計

    51單片機(jī)多任務(wù)設(shè)計
    發(fā)表于 05-14 20:16

    單片機(jī)多任務(wù)事件驅(qū)動C源碼分享

    單片機(jī)多任務(wù)事件驅(qū)動C源碼
    發(fā)表于 01-24 06:31

    51單片機(jī)多任務(wù)操作系統(tǒng)的原理是什么?

    51單片機(jī)多任務(wù)操作系統(tǒng)的原理
    發(fā)表于 11-06 08:10

    單片機(jī)系統(tǒng)中的多任務(wù)多線程機(jī)制的實現(xiàn)

    單片機(jī)系統(tǒng)的開發(fā)很多情況下不是在嵌入式操作系統(tǒng)平臺上進(jìn)行的,而是直接基于處理器編寫。在多任務(wù)并行執(zhí)行的要求下,可以借鑒操作系統(tǒng)中的任務(wù)和線程機(jī)制,對資源和
    發(fā)表于 05-15 14:15 ?21次下載

    51單片機(jī)多任務(wù)機(jī)制的實現(xiàn)策略研究

    從操作系統(tǒng)實現(xiàn)多任務(wù)機(jī)制的原理入手,分析了51單片機(jī)實現(xiàn)多任務(wù)機(jī)制的基本條件,論述了5l單片機(jī)實現(xiàn)多任務(wù)控制的二種
    發(fā)表于 09-19 17:26 ?159次下載
    51<b class='flag-5'>單片機(jī)</b><b class='flag-5'>多任務(wù)</b>機(jī)制的實現(xiàn)策略研究

    單片機(jī)系統(tǒng)多任務(wù)實現(xiàn)方法

    考慮到成本等因素,大多數(shù)單片機(jī)系統(tǒng)的開發(fā)還是基于處理器直接編寫,但開發(fā)者經(jīng)常面臨同時處理多個任務(wù)的要求,提出了一種單片機(jī)
    發(fā)表于 11-21 16:47 ?750次下載

    MSP430單片機(jī)實時多任務(wù)操作系統(tǒng)c源代碼

    : 資料-【C】嵌入系統(tǒng)-【C0】嵌入式綜合-【2】單片機(jī)編程-【參考程序】-MSP430單片機(jī)的實時多任務(wù)操作系統(tǒng)c源代碼.zip
    發(fā)表于 09-18 10:18 ?91次下載
    MSP430<b class='flag-5'>單片機(jī)</b>實時<b class='flag-5'>多任務(wù)</b>操作系統(tǒng)c源代碼

    基于單片機(jī)狀態(tài)的多任務(wù)系統(tǒng)

    一般嵌入式系統(tǒng)(特指8 位的單片機(jī)系統(tǒng))往往有多個任務(wù),存在多個中斷,常需處理許多并發(fā)事件的輸入數(shù)據(jù)流。這些事件的到來次序和幾率通常是不可預(yù)測的,而且還要求系統(tǒng)必須在事先設(shè)定好的時限內(nèi)做出相應(yīng)的響應(yīng)
    發(fā)表于 07-13 17:31 ?13次下載

    51單片機(jī)多任務(wù)操作系統(tǒng)的原理與實現(xiàn)

    51單片機(jī)多任務(wù)操作系統(tǒng)的原理與實現(xiàn),在51單片機(jī)上模擬操作系統(tǒng)
    發(fā)表于 02-28 15:09 ?16次下載

    基于實時操作系統(tǒng)的單片機(jī)多任務(wù)應(yīng)用程序設(shè)計

    基于實時操作系統(tǒng)的單片機(jī)多任務(wù)應(yīng)用程序設(shè)計
    發(fā)表于 10-27 15:21 ?49次下載
    基于實時操作系統(tǒng)的<b class='flag-5'>單片機(jī)</b><b class='flag-5'>多任務(wù)</b>應(yīng)用程序設(shè)計

    如何使用51單片機(jī)進(jìn)行多任務(wù)機(jī)制及應(yīng)用

    傳統(tǒng)的單片機(jī)程序一般采用單任務(wù)機(jī)制,單任務(wù)系統(tǒng)具有簡單直觀、易于控制的優(yōu)點。然而由于程序只能按順序依次執(zhí)行,缺乏靈活性,只能使用中斷函數(shù)實時地處理一些較短的
    發(fā)表于 04-15 18:24 ?8次下載
    如何使用51<b class='flag-5'>單片機(jī)</b>進(jìn)行<b class='flag-5'>多任務(wù)</b>機(jī)制及應(yīng)用

    如何使用51單片機(jī)實現(xiàn)多任務(wù)機(jī)制的策略詳細(xì)資料說明

    51單片機(jī)在微型智能控制系統(tǒng)中應(yīng)用很廣,隨著人們對控制系統(tǒng)的要求不斷提高,51單片機(jī)的功能局限越發(fā)明顯。特別是51系列單片機(jī)不具有實時多任務(wù)支持功能,大大限制其在控制系統(tǒng)中的進(jìn)一步發(fā)展
    發(fā)表于 07-17 17:38 ?6次下載
    如何使用51<b class='flag-5'>單片機(jī)</b>實現(xiàn)<b class='flag-5'>多任務(wù)</b>機(jī)制的策略詳細(xì)資料說明

    使用單片機(jī)實現(xiàn)道路交通燈多任務(wù)控制系統(tǒng)的課件說明

     RTX-51是運行于8051單片機(jī)環(huán)境中的實時多任務(wù)操作系統(tǒng)(RTOS),其常用于處理復(fù)雜的多任務(wù)控制系統(tǒng)。8051單片機(jī)支持典型的RTX
    發(fā)表于 04-16 17:31 ?7次下載
    使用<b class='flag-5'>單片機(jī)</b>實現(xiàn)道路交通燈<b class='flag-5'>多任務(wù)</b>控制系統(tǒng)的課件說明

    單片機(jī)多任務(wù)事件驅(qū)動C源碼

    單片機(jī)多任務(wù)事件驅(qū)動C源碼
    發(fā)表于 11-29 10:06 ?26次下載
    <b class='flag-5'>單片機(jī)</b><b class='flag-5'>多任務(wù)</b>事件驅(qū)動C源碼