国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      單片機(jī)實(shí)時任務(wù)與耗時任務(wù)并行執(zhí)行的實(shí)現(xiàn)方法和系統(tǒng)的制作方法

      文檔序號:6621499閱讀:703來源:國知局
      單片機(jī)實(shí)時任務(wù)與耗時任務(wù)并行執(zhí)行的實(shí)現(xiàn)方法和系統(tǒng)的制作方法
      【專利摘要】本發(fā)明涉及一種單片機(jī)實(shí)時任務(wù)與耗時任務(wù)并行執(zhí)行的實(shí)現(xiàn)方法和系統(tǒng),包括步驟:將所有實(shí)時任務(wù)打包成一個實(shí)時任務(wù)調(diào)用函數(shù),在該實(shí)時任務(wù)調(diào)用函數(shù)的實(shí)現(xiàn)里把所有實(shí)時任務(wù)依次調(diào)用一次;將耗時任務(wù)劃分為若干個執(zhí)行步驟,對應(yīng)于每個執(zhí)行步驟至少植入一次該實(shí)時任務(wù)調(diào)用函數(shù)的調(diào)用。本發(fā)明具有以下技術(shù)效果:既不影響程序流程的可讀性,又方便地實(shí)現(xiàn)了在單線程模式下實(shí)現(xiàn)并行運(yùn)算的技巧,且完整地保留了調(diào)用棧,適合調(diào)試時定位故障源。
      【專利說明】[0001] 單片機(jī)實(shí)時任務(wù)與耗時任務(wù)并行執(zhí)行的實(shí)現(xiàn)方法和系統(tǒng)

      【技術(shù)領(lǐng)域】
      [0002] 本發(fā)明涉及單片機(jī)的程序運(yùn)行管理,特別是與單片機(jī)的實(shí)時任務(wù)與耗時任務(wù)的協(xié) 調(diào)有關(guān)。

      【背景技術(shù)】
      [0003] 實(shí)時任務(wù)是指不可阻塞、不可拖延和響應(yīng)及時的任務(wù),通常包括通信協(xié)議報文處 理、定時任務(wù)及喂狗等,這類任務(wù)處理函數(shù)非常快速,運(yùn)行時間短。耗時任務(wù)是指有內(nèi)在處 理邏輯、有特定執(zhí)行順序、且需要耗費(fèi)較長時間才能執(zhí)行完成的任務(wù),這類任務(wù)屬于應(yīng)用層 次,不要求實(shí)時性,但必須保證執(zhí)行的順序。
      [0004] 現(xiàn)有單片機(jī)環(huán)境中通常使用兩種方式實(shí)現(xiàn)實(shí)時任務(wù)和耗時任務(wù)的并行執(zhí)行。一 種使用RT0S (實(shí)時操作系統(tǒng)),由實(shí)時操作系統(tǒng)提供中斷級別的分時多任務(wù),程序中只需調(diào) 用RT庫提供的API創(chuàng)建新任務(wù),即可實(shí)現(xiàn)實(shí)時任務(wù)和耗時任務(wù)的并行運(yùn)行。另一種不使用 RT0S,參見圖2,其是把耗時任務(wù)原始執(zhí)行邏輯分解成若干個耗時較小的執(zhí)行步驟1、2···Ν ; 參見圖1,其在入口 main ()函數(shù)中使用無限循環(huán),實(shí)時任務(wù)的處理大致包括定時任務(wù)、發(fā)送 報文、接收并解釋報文和喂狗等;參見圖3,每次循環(huán)只調(diào)用耗時任務(wù)的一個步驟,下次循 環(huán)調(diào)用下一個步驟,以此在不影響系統(tǒng)實(shí)時響應(yīng)的基礎(chǔ)上模擬出耗時任務(wù)也在并行運(yùn)行的 效果。
      [0005] 在有條件的單片機(jī)上,例如有足夠大的RAM (隨機(jī)存取存儲器)和存儲空間的情況 下,第一選擇都是使用RT0S,畢竟由庫提供的多任務(wù)環(huán)境極大地減少了編寫多任務(wù)程序的 難度和復(fù)雜度,尤其是調(diào)試代碼時指令執(zhí)行邏輯清晰,調(diào)用棧跟蹤方便,很容易根據(jù)調(diào)用上 下文查錯和糾錯,但由于涉及到任務(wù)調(diào)度、TCB (任務(wù)控制塊)數(shù)據(jù)分配及數(shù)據(jù)同步處理等因 素,需要占用額外的內(nèi)存和處理器資源,也相應(yīng)增加了同步處理的復(fù)雜性。
      [0006] 而且由于成本的因素,存在大量如下的單片機(jī)類型:一種是存儲空間非常有限,t匕 如:只有幾 K字節(jié)甚至幾百字節(jié)的RAM,無法滿足RT0S所需要的基本存儲需求;另一種是 單片機(jī)廠商未提供對應(yīng)的RT0S。對于這樣的單片機(jī)類型,只能選擇任務(wù)分解方式提供模擬 多任務(wù)效果,這種方式必須打亂程序邏輯結(jié)構(gòu),且需要增加額外的變量空間來記住任務(wù)的 當(dāng)前執(zhí)行步驟,在下一個循環(huán)周期能從記憶的執(zhí)行步驟中恢復(fù)狀態(tài)以便繼續(xù)執(zhí)行剩余的步 驟;此方式會明顯增加程序邏輯的復(fù)雜度,狀態(tài)轉(zhuǎn)換極易出錯,且由于完全丟失了調(diào)用上下 文關(guān)系,導(dǎo)致出錯時難以確定故障來源,增加了糾錯和維護(hù)的成本。
      [0007]


      【發(fā)明內(nèi)容】

      [0008] 本發(fā)明要解決的技術(shù)問題在于避免現(xiàn)有技術(shù)中無法使用RT0S的單片機(jī)軟件的情 況下,而所存在的實(shí)時和耗時任務(wù)執(zhí)行需要占用額外的內(nèi)存和處理器資源、同步處理復(fù)雜, 或者程序邏輯復(fù)雜、狀態(tài)轉(zhuǎn)換容易出錯、糾錯和維護(hù)成本高等不足之處,而提出一種單片機(jī) 實(shí)時任務(wù)與耗時任務(wù)并行執(zhí)行的實(shí)現(xiàn)方法。
      [0009] 針對上述要解決的技術(shù)問題,本發(fā)明的技術(shù)方案如下: 一種單片機(jī)實(shí)時任務(wù)與耗時任務(wù)并行執(zhí)行的實(shí)現(xiàn)方法,包括以下步驟:將所有實(shí)時任 務(wù)打包成一個實(shí)時任務(wù)調(diào)用函數(shù),在該實(shí)時任務(wù)調(diào)用函數(shù)的實(shí)現(xiàn)里把所有實(shí)時任務(wù)依次調(diào) 用一次;將耗時任務(wù)劃分為若干個執(zhí)行步驟,對應(yīng)于每個執(zhí)行步驟至少植入一次該實(shí)時任 務(wù)調(diào)用函數(shù)的調(diào)用。
      [0010] 進(jìn)一步地,計算所述耗時任務(wù)中各執(zhí)行步驟所需要的時間,并根據(jù)各執(zhí)行步驟所 需要的時間長短而決定將實(shí)時任務(wù)調(diào)用函數(shù)植入所述耗時任務(wù)的具體執(zhí)行步驟中。
      [0011] 進(jìn)一步地,所述耗時任務(wù)中各執(zhí)行步驟所需要時間的計算通過時間統(tǒng)計代碼實(shí) 現(xiàn)。
      [0012] 進(jìn)一步地,所述耗時任務(wù)按照函數(shù)流程編寫功能代碼。
      [0013] 進(jìn)一步地,植入所述實(shí)時任務(wù)調(diào)用函數(shù)時,保證相鄰兩次實(shí)時任務(wù)調(diào)用函數(shù)的調(diào) 用之間所耗費(fèi)的時間足夠短,以便保證實(shí)時任務(wù)的實(shí)時性。
      [0014] 進(jìn)一步地,在耗時任務(wù)需要等待實(shí)時任務(wù)的執(zhí)行結(jié)果時,反復(fù)調(diào)用所述實(shí)時任務(wù) 調(diào)用函數(shù),以至所期待結(jié)果出現(xiàn)或者超時才繼續(xù)執(zhí)行后續(xù)流程。
      [0015] 進(jìn)一步地,所述實(shí)時任務(wù)調(diào)用函數(shù)包括執(zhí)行一下步驟:執(zhí)行定時任務(wù)、執(zhí)行發(fā)送報 文、執(zhí)行接收并解析報文以及執(zhí)行喂狗。
      [0016] 進(jìn)一步地,所述單片機(jī)不支持實(shí)時操作系統(tǒng)。
      [0017] 一種單片機(jī)實(shí)時任務(wù)與耗時任務(wù)并行執(zhí)行的實(shí)現(xiàn)系統(tǒng),包括耗時任務(wù)模塊、實(shí)時 任務(wù)模塊和中斷任務(wù)模塊,所述耗時任務(wù)模塊位于系統(tǒng)最上層,所述實(shí)時任務(wù)模塊位于系 統(tǒng)中間層,中斷任務(wù)位于系統(tǒng)最底層;所述實(shí)時任務(wù)模塊的所有實(shí)時任務(wù)打包成一個實(shí)時 任務(wù)調(diào)用函數(shù),在該實(shí)時任務(wù)調(diào)用函數(shù)的實(shí)現(xiàn)中把所有實(shí)時任務(wù)依次調(diào)用一次;所述耗時 任務(wù)模塊將耗時任務(wù)劃分為若干個執(zhí)行步驟,對應(yīng)于耗時任務(wù)執(zhí)行步驟至少植入一次該實(shí) 時任務(wù)調(diào)用函數(shù)的調(diào)用。
      [0018] 進(jìn)一步地,所述實(shí)時任務(wù)模塊包括依次連接的用于更新定時任務(wù)計數(shù)器的定時任 務(wù)子模塊、用于發(fā)送報文的發(fā)送報文子模塊、用于接收并解析報文的接收并解析報文子模 塊和用于喂狗的喂狗子模塊。
      [0019] 本發(fā)明的單片機(jī)實(shí)時任務(wù)與耗時任務(wù)并行執(zhí)行的實(shí)現(xiàn)方法,與現(xiàn)有技術(shù)相比,具 有以下技術(shù)效果: 通過植入式調(diào)用實(shí)時任務(wù)調(diào)用函數(shù)AsyncWorkO,既不影響程序流程的可讀性,又方便 地實(shí)現(xiàn)了在單線程模式下實(shí)現(xiàn)并行運(yùn)算的技巧,且完整地保留了調(diào)用棧,適合調(diào)試時定位 故障源。任務(wù)執(zhí)行邏輯清晰,避免了分解式執(zhí)行導(dǎo)致的調(diào)用上下文丟失,無法從調(diào)用棧獲取 錯誤來源的問題。
      [0020] 植入式調(diào)用方案使得軟件開發(fā)過程更清晰,即開發(fā)初期無需考慮任務(wù)是否耗時, 只需按照正常流程完成任務(wù)功能代碼。僅需在后期測試期間收集任務(wù)執(zhí)行時間,并在合適 的地方加入AsyncWorkO調(diào)用來保證實(shí)時任務(wù)的實(shí)時性即可。采用本技術(shù)方案設(shè)計,可以 使單片機(jī)軟件開發(fā)人員從耗時任務(wù)拆分的繁瑣勞動中解脫出來,專注于任務(wù)的邏輯流程設(shè) 計,而不需要花費(fèi)很大精力處理各個步驟的協(xié)調(diào)和狀態(tài)記憶。
      [0021] 不需要RT0S的任務(wù)調(diào)度和數(shù)據(jù)同步控制,不占用額外內(nèi)存空間,沒有任務(wù)調(diào)度導(dǎo) 致的性能損失,完全可以運(yùn)行在RAM很小的設(shè)備上。
      [0022]

      【專利附圖】

      【附圖說明】
      [0023] 圖1是現(xiàn)有的任務(wù)分解式的main ()函數(shù)流程圖。
      [0024] 圖2是現(xiàn)有的耗時任務(wù)原始流程圖。
      [0025] 圖3是現(xiàn)有的耗時任務(wù)分解流程圖。
      [0026] 圖4是本發(fā)明實(shí)施例的單片機(jī)實(shí)時任務(wù)與耗時任務(wù)并行執(zhí)行的實(shí)現(xiàn)系統(tǒng)方框示 意圖。
      [0027] 圖5是本發(fā)明實(shí)施例的實(shí)時任務(wù)調(diào)用函數(shù)AsyncWorkO函數(shù)所封裝的實(shí)時任務(wù)流 程圖。
      [0028] 圖6是本發(fā)明實(shí)施例的耗時任務(wù)植入式調(diào)用流程圖。
      [0029] 圖7是本發(fā)明實(shí)施例的簡單耗時任務(wù)流程圖。
      [0030]

      【具體實(shí)施方式】
      [0031] 下面結(jié)合各附圖對實(shí)施例作進(jìn)一步詳述: 參見圖4, 一種單片機(jī)實(shí)時任務(wù)與耗時任務(wù)并行執(zhí)行的實(shí)現(xiàn)系統(tǒng),包括耗時任務(wù)模塊、 實(shí)時任務(wù)模塊和中斷任務(wù)模塊,所述耗時任務(wù)模塊位于系統(tǒng)最上層,所述實(shí)時任務(wù)模塊位 于系統(tǒng)中間層,中斷任務(wù)模塊位于系統(tǒng)最底層。這樣通過把任務(wù)層次進(jìn)行明確劃分,能保證 實(shí)時任務(wù)和耗時任務(wù)在單線程模式下同時并行執(zhí)行,且能避免拆分耗時任務(wù)后跟實(shí)時任務(wù) 混合調(diào)度的混亂局面。
      [0032] 具體地,所述實(shí)時任務(wù)模塊包括依次連接的用于更新定時任務(wù)計數(shù)器的定時任務(wù) 子模塊、用于發(fā)送報文的發(fā)送報文子模塊、用于接收并解析報文的接收并解析報文子模塊 和用于喂狗的喂狗子模塊。所述中斷任務(wù)模塊的中斷任務(wù)作為硬件級的實(shí)時服務(wù),包括定 時器中斷、通信中斷以及其它中斷,本身已經(jīng)具備并行執(zhí)行的基礎(chǔ),屬于現(xiàn)有技術(shù),此處不 再贅述。
      [0033] -種單片機(jī)實(shí)時任務(wù)與耗時任務(wù)并行執(zhí)行的實(shí)現(xiàn)方法,基于單片機(jī)不支持實(shí)時操 作系統(tǒng),包括以下步驟:將所有實(shí)時任務(wù)打包成一個實(shí)時任務(wù)調(diào)用函數(shù)AsyncWorkO,在該 實(shí)時任務(wù)調(diào)用函數(shù)的實(shí)現(xiàn)里把所有實(shí)時任務(wù)依次調(diào)用一次,例如:從發(fā)送緩沖區(qū)提取并發(fā) 送報文;從接收緩沖區(qū)提取并解析報文;調(diào)用定時任務(wù)以及喂狗。將耗時任務(wù)劃分為若干 個執(zhí)行步驟,對應(yīng)于每個執(zhí)行步驟至少植入一次該實(shí)時任務(wù)調(diào)用函數(shù)的調(diào)用。在耗時任務(wù) 內(nèi)部隨時調(diào)用此實(shí)時任務(wù)調(diào)用函數(shù)AsyncWorkO來處理實(shí)時任務(wù),這也是本發(fā)明方法實(shí)現(xiàn) 的基礎(chǔ)。如圖6所示,把整個耗時任務(wù)劃分為若干個執(zhí)行步驟1、2…N,對應(yīng)于每個執(zhí)行步 驟1、2…N相應(yīng)地至少植入一次實(shí)時任務(wù)調(diào)用函數(shù)AsyncWorkO的調(diào)用。上述實(shí)現(xiàn)方法當(dāng) 然也可以適用于單片機(jī)支持實(shí)時操作系統(tǒng)的情形。
      [0034] 一些實(shí)施例中,耗時任務(wù)按照普通的函數(shù)流程編寫代碼,而不需要編寫任務(wù)拆分 代碼。在全部功能代碼完成后,可通過經(jīng)驗(yàn)或額外的時間統(tǒng)計代碼等方式計算所述耗時任 務(wù)中各執(zhí)行步驟所需要的時間,并根據(jù)各執(zhí)行步驟所需要的時間長短而決定將實(shí)時任務(wù)調(diào) 用函數(shù)植入所述耗時任務(wù)的具體執(zhí)行步驟中,即根據(jù)各執(zhí)行步驟所需要的時間長短確定在 耗時任務(wù)的哪些具體執(zhí)行步驟中加入實(shí)時任務(wù)調(diào)用函數(shù)AsyncWorkO的調(diào)用。本發(fā)明的植 入式調(diào)用在運(yùn)行效果上與現(xiàn)有技術(shù)中的分解式調(diào)用相同,但它保留了耗時任務(wù)的程序控制 邏輯,對于軟件開發(fā)者來說,植入式調(diào)用更符合思維習(xí)慣。
      [0035] 一些實(shí)施例中,植入所述實(shí)時任務(wù)調(diào)用函數(shù)時,考慮以下兩個條件:一是保證相鄰 兩次實(shí)時任務(wù)調(diào)用函數(shù)的調(diào)用之間所耗費(fèi)的時間足夠短,以便保證實(shí)時任務(wù)的實(shí)時性。例 如:必須在指定的時間內(nèi)喂狗以避免看門狗復(fù)位單片機(jī)。二是在耗時任務(wù)的等待期間,有時 耗時任務(wù)需要等待實(shí)時任務(wù)的執(zhí)行結(jié)果,例如耗時任務(wù)發(fā)送一個報文后必須等待實(shí)時任務(wù) 一個響應(yīng)報文時,可以反復(fù)調(diào)用所述實(shí)時任務(wù)調(diào)用函數(shù),以至所期待結(jié)果出現(xiàn)或者超時才 繼續(xù)執(zhí)行后續(xù)流程。
      [0036] 一些實(shí)施例中,參見圖5,本發(fā)明的實(shí)時任務(wù)調(diào)用函數(shù)AsyncWorkO包括執(zhí)行以下 步驟: 5101、 執(zhí)行定時任務(wù); 5102、 執(zhí)行發(fā)送報文; 5103、 執(zhí)行接收并解析報文; 5104、 執(zhí)行喂狗。
      [0037] 圖7是本發(fā)明一實(shí)施例的簡單耗時任務(wù)流程圖。這里假設(shè)一種簡單耗時任務(wù)的場 景:在設(shè)備中向外部設(shè)備發(fā)送一個查詢指令并等待外部設(shè)備返回結(jié)果,如果外部設(shè)備就緒, 則再發(fā)送一個控制指令并等待結(jié)果;如果外部設(shè)備未就緒或者任何一個指令的響應(yīng)超時, 則任務(wù)直接結(jié)束。使用本發(fā)明方法執(zhí)行此任務(wù)的基本流程如下: 5301、 構(gòu)造查詢指令報文并放入發(fā)送隊(duì)列; 5302、 構(gòu)造定時任務(wù)計數(shù)器以計算超時; 5303、 調(diào)用實(shí)時任務(wù)調(diào)用函數(shù)AsyncWorkO ;完成發(fā)送報文、檢測接收報文、超時計數(shù) 器更新等,這個過程具體包括:如果發(fā)送隊(duì)列存在報文則取出報文并發(fā)送給外部設(shè)備;判 斷接收緩沖區(qū)是否存在完整報文,如果存在,則解析報文后放入接收隊(duì)列;以及更新定時任 務(wù)計數(shù)器; 5304、 檢測接收隊(duì)列是否存在響應(yīng)報文,如果存在,則執(zhí)行步驟S305,否則執(zhí)行步驟 S314 ; 5305、 停止定時任務(wù)計數(shù)器計數(shù); 5306、 根據(jù)報文內(nèi)容,判斷外部設(shè)備是否就緒,如果未就緒,則結(jié)束任務(wù),如果就緒,則 執(zhí)行步驟S306 ; 5307、 構(gòu)造控制指令報文并放入發(fā)送隊(duì)列; 5308、 構(gòu)造定時任務(wù)計數(shù)器以計算超時 5309、 調(diào)用實(shí)時任務(wù)調(diào)用函數(shù)AsyncWorkO ;完成發(fā)送報文、檢測接收報文、超時計數(shù) 器更新等,這個過程具體包括:如果發(fā)送隊(duì)列存在報文則取出報文并發(fā)送給外部設(shè)備;判 斷接收緩沖區(qū)是否存在完整報文,如果存在,則解析報文后放入接收隊(duì)列;以及更新定時任 務(wù)計數(shù)器; 5310、 檢測接收隊(duì)列是否存在響應(yīng)報文,如果存在,則執(zhí)行步驟S311,如果不存在,則執(zhí) 行步驟S313 ; 5311、 停止定時任務(wù)計數(shù)器計數(shù); 5312、 根據(jù)報文內(nèi)容,檢測控制指令的執(zhí)行結(jié)果,結(jié)束任務(wù)。
      [0038] S313、獲取計數(shù)器判斷是否超時,如果超時,則結(jié)束任務(wù);未超時則重復(fù)執(zhí)行步驟 S309 ; S314、獲取計數(shù)器判斷是否超時,如果超時,則結(jié)束任務(wù);未超時則重復(fù)執(zhí)行步驟 S303。
      [0039] 可以看出,本發(fā)明方法的開發(fā)過程非常符合程序員的思維。通過一種"隨時隨地植 入"的機(jī)制,在不依賴RT0S的基礎(chǔ)上實(shí)現(xiàn)實(shí)時任務(wù)和耗時任務(wù)的并行執(zhí)行,解決了 RT0S方 式需要占用額外內(nèi)存空間、需要任務(wù)切換時間、數(shù)據(jù)同步控制的問題,也解決了非RT0S的 任務(wù)分解方式需要拆分耗時任務(wù)、丟失調(diào)用上下文、需要額外的全局或靜態(tài)狀態(tài)變量、不利 于調(diào)試查錯的問題,最終達(dá)到符合代碼邏輯思維習(xí)慣、簡化狀態(tài)控制導(dǎo)致的邏輯復(fù)雜性、便 于調(diào)試查錯的效果,從而可以增加編程的效率和可靠性。
      [0040] 以上,僅為本發(fā)明之較佳實(shí)施例,意在進(jìn)一步說明本發(fā)明,而非對其進(jìn)行限定。凡 根據(jù)上述之文字和附圖所公開內(nèi)容進(jìn)行的簡單替換,都在本專利的權(quán)利保護(hù)范圍之列。
      【權(quán)利要求】
      1. 一種單片機(jī)實(shí)時任務(wù)與耗時任務(wù)并行執(zhí)行的實(shí)現(xiàn)方法,其特征在于,包括以下步驟: 將所有實(shí)時任務(wù)打包成一個實(shí)時任務(wù)調(diào)用函數(shù),在該實(shí)時任務(wù)調(diào)用函數(shù)的實(shí)現(xiàn)里把所有實(shí) 時任務(wù)依次調(diào)用一次;將耗時任務(wù)劃分為若干個執(zhí)行步驟,對應(yīng)于每個執(zhí)行步驟至少植入 一次該實(shí)時任務(wù)調(diào)用函數(shù)的調(diào)用。
      2. 根據(jù)權(quán)利要求1所述的實(shí)現(xiàn)方法,其特征在于:計算所述耗時任務(wù)中各執(zhí)行步驟所 需要的時間,并根據(jù)各執(zhí)行步驟所需要的時間長短而決定將實(shí)時任務(wù)調(diào)用函數(shù)植入所述耗 時任務(wù)的具體執(zhí)行步驟中。
      3. 根據(jù)權(quán)利要求2所述的實(shí)現(xiàn)方法,其特征在于:所述耗時任務(wù)中各執(zhí)行步驟所需要 時間的計算通過時間統(tǒng)計代碼實(shí)現(xiàn)。
      4. 根據(jù)權(quán)利要求1所述的實(shí)現(xiàn)方法,其特征在于:所述耗時任務(wù)按照函數(shù)流程編寫功 能代碼。
      5. 根據(jù)權(quán)利要求1所述的實(shí)現(xiàn)方法,其特征在于:植入所述實(shí)時任務(wù)調(diào)用函數(shù)時,保 證相鄰兩次實(shí)時任務(wù)調(diào)用函數(shù)的調(diào)用之間所耗費(fèi)的時間足夠短,以便保證實(shí)時任務(wù)的實(shí)時 性。
      6. 根據(jù)權(quán)利要求1所述的實(shí)現(xiàn)方法,其特征在于:在耗時任務(wù)需要等待實(shí)時任務(wù)的執(zhí) 行結(jié)果時,反復(fù)調(diào)用所述實(shí)時任務(wù)調(diào)用函數(shù),以至所期待結(jié)果出現(xiàn)或者超時才繼續(xù)執(zhí)行后 續(xù)流程。
      7. 根據(jù)權(quán)利要求1所述的實(shí)現(xiàn)方法,其特征在于:所述實(shí)時任務(wù)調(diào)用函數(shù)包括執(zhí)行以 下步驟:執(zhí)行定時任務(wù)、執(zhí)行發(fā)送報文、執(zhí)行接收并解析報文以及執(zhí)行喂狗。
      8. 根據(jù)權(quán)利要求1至7中任一項(xiàng)所述的實(shí)現(xiàn)方法,其特征在于:所述單片機(jī)不支持實(shí) 時操作系統(tǒng)。
      9. 一種單片機(jī)實(shí)時任務(wù)與耗時任務(wù)并行執(zhí)行的實(shí)現(xiàn)系統(tǒng),包括耗時任務(wù)模塊、實(shí)時任 務(wù)模塊和中斷任務(wù)模塊,其特征在于:所述耗時任務(wù)模塊位于系統(tǒng)最上層,所述實(shí)時任務(wù)模 塊位于系統(tǒng)中間層,中斷任務(wù)位于系統(tǒng)最底層; 所述實(shí)時任務(wù)模塊的所有實(shí)時任務(wù)打包成一個實(shí)時任務(wù)調(diào)用函數(shù),在該實(shí)時任務(wù)調(diào)用 函數(shù)的實(shí)現(xiàn)中把所有實(shí)時任務(wù)依次調(diào)用一次; 所述耗時任務(wù)模塊將耗時任務(wù)劃分為若干個執(zhí)行步驟,對應(yīng)于耗時任務(wù)執(zhí)行步驟至少 植入一次該實(shí)時任務(wù)調(diào)用函數(shù)的調(diào)用。
      10. 根據(jù)權(quán)利要求9所述的實(shí)現(xiàn)系統(tǒng),其特征在于:所述實(shí)時任務(wù)模塊包括依次連接的 用于更新定時任務(wù)計數(shù)器的定時任務(wù)子模塊、用于發(fā)送報文的發(fā)送報文子模塊、用于接收 并解析報文的接收并解析報文子模塊和用于喂狗的喂狗子模塊。
      【文檔編號】G06F9/38GK104102491SQ201410362872
      【公開日】2014年10月15日 申請日期:2014年7月28日 優(yōu)先權(quán)日:2014年7月28日
      【發(fā)明者】胡柏華 申請人:航天科工深圳(集團(tuán))有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
      1