[發明專利]一種具有優先級任務切換的單片機編程方法無效
| 申請號: | 201010571315.3 | 申請日: | 2010-11-25 |
| 公開(公告)號: | CN102023895A | 公開(公告)日: | 2011-04-20 |
| 發明(設計)人: | 雷剛 | 申請(專利權)人: | 廣東雅達電子股份有限公司 |
| 主分類號: | G06F9/48 | 分類號: | G06F9/48 |
| 代理公司: | 廣州粵高專利商標代理有限公司 44102 | 代理人: | 羅曉林;李志強 |
| 地址: | 517000 廣東省河源市*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 具有 優先級 任務 切換 單片機 編程 方法 | ||
技術領域
本發明涉及一種單片機的編程方法,尤其涉及一種具有優先級任務切換的單片機編程方法。
背景技術
目前單片機的編程方式主要是單任務過程操作和實時多任務操作系統。單任務過程操作系統中所有任務都是流水線方式操作,所有任務都是同一個優先級,對緊急任務將會產生延時,由于任務之間沒有切換,整個系統只需要一個堆棧;實時多任務操作系統中所有任務都是最高優先級方式操作,所有任務都有不同的優先級,任務在執行過程中,如果有更高優先級任務發生,更高優先級任務將搶占執行,由于任務之間有切換,每個任務都有一個獨立的堆棧,導致系統復雜且占用資源多。
發明內容
本發明要解決的技術問題是提供一種提高高優先級任務的響應時間,系統簡單,占用資源少的具有優先級任務切換的單片機編程方法。
為了解決上述技術問題,本發明采取以下技術方案:
一種具有優先級任務切換的單片機編程方法,包括以下步驟:
(1)將系統中的每一個任務都設置成具有對應唯一的優先級,并且系統中的所有任務共同使作用一個堆棧;
(2)將系統中的所有任務都存放在任務優先級隊列中;
(3)查詢任務優先級隊列,選擇任務優先級隊列中的最高優先級任務進行執行;
(4)當前任務執行完成后,重新查詢任務優先級隊列中的任務,并對最高優先級任務進行執行。
(5)在任務執行過程中,更高優先級任務不可中斷現有任務執行。
所述步驟(2)中每個任務的優先級保持固定。
所述步驟(3)執行任務的過程中,處于優先級隊列中的任務均保持等待狀態。
本發明通過將所有任務都設置成共用一個堆棧,并且在系統運行過程中處于任務隊列中的任務均保持原先的任務優先級,使系統簡單化,而且在執行任務的過程中,其他更高優先級的任務保持等待狀態不能搶占執行,占用資源少。
具體實施方式
為了便于本領域技術人員的理解,下面結合具體實施例對本發明作進一步的描述。
一種具有優先級任務切換的單片機編程方法,包括以下步驟:
(1)將系統中的每一個任務都設置成具有對應唯一的優先級,并且系統中的所有任務共同使作用一個堆棧;
(2)將系統中的所有任務都存放在任務優先級隊列中;
(3)查詢任務優先級隊列,選擇任務優先級隊列中的最高優先級任務進行執行;
(4)當前任務執行完成后,重新查詢任務優先級隊列中的任務,并對最高優先級任務進行執行。
其中,步驟(2)中每個任務的優先級保持固定不變,不可修改各任務原來的優先級,步驟(3)執行任務的過程中,處于優先級隊列中的任務均保持等待狀態,均不能進行搶占執行。所有任務均通過事件或時鐘源喚醒。
具體執行時,任務優先級列表如下:
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于廣東雅達電子股份有限公司,未經廣東雅達電子股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201010571315.3/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:長短金手指的鍍金工藝方法
- 下一篇:局部鍍金板的制作工藝





