[發(fā)明專利]一種程序調(diào)度的方法無效
| 申請(qǐng)?zhí)枺?/td> | 201010559433.2 | 申請(qǐng)日: | 2010-11-23 |
| 公開(公告)號(hào): | CN102479107A | 公開(公告)日: | 2012-05-30 |
| 發(fā)明(設(shè)計(jì))人: | 汪旭光 | 申請(qǐng)(專利權(quán))人: | 天津中興軟件有限責(zé)任公司 |
| 主分類號(hào): | G06F9/48 | 分類號(hào): | G06F9/48 |
| 代理公司: | 暫無信息 | 代理人: | 暫無信息 |
| 地址: | 300300 天津市空港*** | 國省代碼: | 天津;12 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 程序 調(diào)度 方法 | ||
技術(shù)領(lǐng)域
本發(fā)明涉及軟件開發(fā)領(lǐng)域,尤其涉及8位、16位等中低端處理器程序開發(fā)中的程序調(diào)度方法及裝置。
背景技術(shù)
處理器,一般有高端和低端之分。高端處理器,例如高端單片機(jī),高端單片機(jī)的系統(tǒng)資源豐富,一般移植有操作系統(tǒng)。低端處理器,例如8位、16位等中低端單片機(jī),中低端單片機(jī)的系統(tǒng)資源有限,如果移植操作系統(tǒng),由于操作系統(tǒng)占用大量的系統(tǒng)資源,使得單片機(jī)執(zhí)行效率低下,甚至不能運(yùn)行。
以中低端單片機(jī)為例,現(xiàn)有的做法是,在單片機(jī)程序中設(shè)置一個(gè)主程序,主程序中設(shè)置一個(gè)無限循環(huán)的main函數(shù),此main函數(shù)實(shí)現(xiàn)單片機(jī)的所有功能。
采取這種方式的缺陷是,一個(gè)無限循環(huán)的main函數(shù)完成單片機(jī)程序的所有功能,使得程序的結(jié)構(gòu)性變差,尤其當(dāng)單片機(jī)的功能較多,程序較大時(shí),幾乎沒有什么結(jié)構(gòu)性,并且,程序員想要維護(hù)或修改單片機(jī)程序時(shí),也會(huì)變得很困難。同時(shí),這種方式的單片機(jī)執(zhí)行效率也很低,因?yàn)閙ain函數(shù)采用自上而下的執(zhí)行機(jī)制,這種機(jī)制的缺點(diǎn)在于,不知道能實(shí)現(xiàn)特定功能的子函數(shù)在哪里,只能從main函數(shù)的第一條語句開始執(zhí)行,直到觸發(fā)到期望的子函數(shù),才執(zhí)行子函數(shù),實(shí)現(xiàn)特定的功能。如果實(shí)現(xiàn)特定功能的子函數(shù)在main函數(shù)的尾部,這將是一件十分耗時(shí)的事情。
因此,現(xiàn)有技術(shù)中,中低端單片機(jī)程序存在的缺陷是:結(jié)構(gòu)復(fù)雜,執(zhí)行效率低。
發(fā)明內(nèi)容
本發(fā)明要解決的主要技術(shù)問題是,提供一種處理器程序的調(diào)度方法和裝置,采用該方法和裝置能提高處理器程序的結(jié)構(gòu)性,并且執(zhí)行效率高。為解決上述技術(shù)問題,本發(fā)明提供一種單片機(jī)程序調(diào)度方法,包括:
在處理器程序中設(shè)置至少一個(gè)用于實(shí)現(xiàn)預(yù)定功能的任務(wù)函數(shù),并為每一個(gè)任務(wù)函數(shù)配置任務(wù)ID;
設(shè)置消息隊(duì)列,所述消息隊(duì)列中的每一條消息包括一任務(wù)ID和傳送數(shù)據(jù)指針;
提取消息隊(duì)列中的消息,根據(jù)消息中的任務(wù)ID查找對(duì)應(yīng)的任務(wù)函數(shù),并把消息中的傳送數(shù)據(jù)指針傳遞給任務(wù)函數(shù),調(diào)度任務(wù)執(zhí)行操作。
在本發(fā)明的一優(yōu)選實(shí)施例中,處理器為單片機(jī)。
在本發(fā)明的一優(yōu)選實(shí)施例中,消息還包括消息ID,根據(jù)消息中的任務(wù)ID查找對(duì)應(yīng)的任務(wù)函數(shù)后,把消息中的消息ID和傳送數(shù)據(jù)指針傳遞給任務(wù)函數(shù),調(diào)度任務(wù)函數(shù)執(zhí)行操作。
在本發(fā)明的另一實(shí)施例中,消息隊(duì)列包括中斷消息隊(duì)列和任務(wù)消息隊(duì)列,中斷消息隊(duì)列的優(yōu)先級(jí)高于任務(wù)消息隊(duì)列,提取消息隊(duì)列中的消息具體包括:判斷中斷消息隊(duì)列是否有消息,如有,則從中斷消息隊(duì)列取消息,如否,則判斷任務(wù)消息隊(duì)列是否有消息,如有,則從任務(wù)消息隊(duì)列中取消息,如否,則調(diào)用鉤子函數(shù)。
進(jìn)一步地,消息隊(duì)列為環(huán)形隊(duì)列,提取消息隊(duì)列中的消息時(shí),按先入先出的原則提取消息隊(duì)中的消息。
本發(fā)明還公開了一種處理器程序調(diào)度裝置,包括:
任務(wù)函數(shù)模塊,用于在處理器程序中設(shè)置至少一個(gè)用于實(shí)現(xiàn)預(yù)定功能的任務(wù)函數(shù),并為每一個(gè)任務(wù)函數(shù)配置任務(wù)ID;
消息隊(duì)列模塊,用于設(shè)置消息隊(duì)列,消息隊(duì)列中的每一條消息包括一任務(wù)ID和傳送數(shù)據(jù)指針;
發(fā)送模塊,用于提取消息隊(duì)列中的消息,根據(jù)消息中的任務(wù)ID查找對(duì)應(yīng)的任務(wù)函數(shù),并把消息中的傳送數(shù)據(jù)指針傳遞給任務(wù)函數(shù),調(diào)度任務(wù)函數(shù)執(zhí)行操作。
在本發(fā)明的一種優(yōu)選實(shí)施例中,處理器為單片機(jī)處理器,
在本發(fā)明的一種優(yōu)選實(shí)施例中,消息還包括消息ID,所述根據(jù)消息中的任務(wù)ID查找對(duì)應(yīng)的任務(wù)函數(shù)后,把消息中的消息ID和傳送數(shù)據(jù)指針傳遞給任務(wù)函數(shù),調(diào)度任務(wù)函數(shù)執(zhí)行操作。
在本發(fā)明的另一實(shí)施例中,消息隊(duì)列包括中斷消息隊(duì)列和任務(wù)消息隊(duì)列,中斷消息隊(duì)列的優(yōu)先級(jí)高于任務(wù)消息隊(duì)列,所述提取消息隊(duì)列中的消息具體包括:判斷所述中斷消息隊(duì)列是否有消息,如有,則從所述中斷消息隊(duì)列取消息,如否,則判斷所述任務(wù)消息隊(duì)列是否有消息,如有,則從所述任務(wù)消息隊(duì)列中取消息,如否,則調(diào)用鉤子函數(shù)。
本發(fā)明的有益效果是:
處理器包括至少一個(gè)任務(wù)函數(shù),提高了程序的結(jié)構(gòu)性,使得程序更利于程序員維護(hù)或修改,針對(duì)特定任務(wù)函數(shù)的修改不會(huì)影響其它的任務(wù)函數(shù)。同時(shí),將包括任務(wù)ID和傳送數(shù)據(jù)指針在內(nèi)的消息作為觸發(fā)任務(wù)函數(shù)執(zhí)行的觸發(fā)機(jī)制,提高了執(zhí)行效率,即:通過任務(wù)ID(任務(wù)號(hào))索引對(duì)應(yīng)的任務(wù)函數(shù),通過傳遞傳送數(shù)據(jù)指針給任務(wù)函數(shù)的方式完成任務(wù)函數(shù)的運(yùn)行,提高了單片機(jī)的執(zhí)行效率。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于天津中興軟件有限責(zé)任公司,未經(jīng)天津中興軟件有限責(zé)任公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201010559433.2/2.html,轉(zhuǎn)載請(qǐng)聲明來源鉆瓜專利網(wǎng)。
- 功能限制程序、安裝程序生成程序和程序存儲(chǔ)介質(zhì)
- 程序生成系統(tǒng)、程序生成程序和程序生成模塊
- 程序生成系統(tǒng)、程序生成程序和程序生成模塊
- 程序創(chuàng)建裝置,程序創(chuàng)建方法和程序
- 程序生成裝置、程序生產(chǎn)方法及程序
- 程序生成裝置、程序生成程序以及程序生成方法
- 程序生成裝置、程序生成方法及程序生成程序
- 程序開發(fā)支持裝置、程序開發(fā)支持方法以及存儲(chǔ)介質(zhì)
- 程序執(zhí)行輔助裝置、程序執(zhí)行輔助方法及程序執(zhí)行輔助程序
- 程序?qū)φ昭b置、程序?qū)φ辗椒俺绦驅(qū)φ粘绦?/a>
- 旅游車輛調(diào)度監(jiān)控方法及其系統(tǒng)
- 一種用戶隊(duì)列調(diào)度的方法和裝置
- 一種資源調(diào)度的方法、裝置和過濾式調(diào)度器
- 一種調(diào)度方法和裝置
- 一種調(diào)度終端動(dòng)態(tài)切換調(diào)度組歸屬關(guān)系的方法及裝置
- 用戶調(diào)度方法、裝置、基站和存儲(chǔ)介質(zhì)
- 一種食材的調(diào)度系統(tǒng)和方法
- 一種資源調(diào)度的方法、裝置和過濾式調(diào)度器
- 任務(wù)調(diào)度方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)
- 一種自動(dòng)化調(diào)度系統(tǒng)和調(diào)度方法
- 一種數(shù)據(jù)庫讀寫分離的方法和裝置
- 一種手機(jī)動(dòng)漫人物及背景創(chuàng)作方法
- 一種通訊綜合測試終端的測試方法
- 一種服裝用人體測量基準(zhǔn)點(diǎn)的獲取方法
- 系統(tǒng)升級(jí)方法及裝置
- 用于虛擬和接口方法調(diào)用的裝置和方法
- 線程狀態(tài)監(jiān)控方法、裝置、計(jì)算機(jī)設(shè)備和存儲(chǔ)介質(zhì)
- 一種JAVA智能卡及其虛擬機(jī)組件優(yōu)化方法
- 檢測程序中方法耗時(shí)的方法、裝置及存儲(chǔ)介質(zhì)
- 函數(shù)的執(zhí)行方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)





