欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3230|回復: 8
收起左側

關于單片機主程序任務調度問題

[復制鏈接]
ID:232366 發表于 2021-2-19 10:36 來自觸屏版 | 顯示全部樓層 |閱讀模式
在寫程序時通常做法是把一些應用程序驅動程序打包到一個子程序例如
void display_Drive()數碼管底層驅動函數(數碼管驅動掃描時間是1ms通過定時器控制標志位在主程序查詢標志位)
void KEY_Scan()按鍵掃描函數
void Display_data()數碼管數據分配函數
void Key_serve()按鍵服務函數
根據以上的函數通過多文件編程外部聲名后在主程序中調用那么怎么樣才能盡可能的減少主程序大循環里執行一次的時間把這個時間節省下來讓cpu去處理別的事情  上面的子函數為例  哪些又需要實時掃描哪些又可以不用掃描這么快可以放后一點這種又應該怎么實現呢?
回復

使用道具 舉報

ID:884857 發表于 2021-2-19 11:15 | 顯示全部樓層
比如外部按鍵的采樣等信息,有實時查詢(即一段時間后查詢一次)和中斷處理(即用中斷的方式去采樣),一般不采用查詢的方式,那樣耗費時間。顯示部分一般注意一個鬼影問題就可以了,就是人眼在20ms以內的變化是看不出來的,看不出閃爍的問題即可。
至于具體怎么用,要結合你項目上的問題來決定,如果按鍵優先級很低,而且又需要中斷處理多個任務,資源受限,也可改用查詢的方式處理按鍵。
對MCU來說,順序執行放在main函數中的函數盡量封裝一下,比如init函數、main_loop函數等,具體函數實現不要在main中,這樣看著更清爽

評分

參與人數 1黑幣 +30 收起 理由
admin + 30 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

ID:112099 發表于 2021-2-19 11:40 | 顯示全部樓層
我其實沒怎么看懂你的問題;不過我通常的寫法是設置一個定時器計時20ms左右,然后在里面執行掃描按鍵,按鍵處理函數等;其他如果要1ms的可以再用一個定時器計時然后在主程序執行,不知道你懂不懂我的意思😂

評分

參與人數 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

ID:451718 發表于 2021-2-19 11:58 | 顯示全部樓層
很多種方法都可以實現啊,首先要弄清楚定時器的工作機制,你這個問題就迎刃而解了。給你一個思路,用定時器做個時間定標。每200ms定標自加,然后switch(定標)。自加到最大值時歸零。  當然,為了保證按鍵響應的及時性,要給按鍵分配一個特殊的定標,每50ms檢測一次,如果檢測到按鍵響應,就優先執行按鍵服務。

評分

參與人數 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

ID:429003 發表于 2021-2-19 12:29 | 顯示全部樓層
1.優化任務實現方式,盡可能的減少純延遲的等待操作。
2.避免不了使用純延遲,且有其它應急處理,可以設計一個專用延遲函數,根據事件類型,標識等,在延遲函數中處理一些應急數據。
3.沒有較長延時的,能利用中斷快速處理的,則不要麻煩主任務。
4.任務相對復雜,功能較多,可以考慮使用嵌入式操作系統。

評分

參與人數 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

ID:232366 發表于 2021-2-19 15:57 來自觸屏版 | 顯示全部樓層
robinsonlin 發表于 2021-2-19 11:58
很多種方法都可以實現啊,首先要弄清楚定時器的工作機制,你這個問題就迎刃而解了。給你一個思路,用定時器 ...

非常感謝非常感謝我明白你意思!我先去試試看去
回復

使用道具 舉報

ID:232366 發表于 2021-2-19 17:16 來自觸屏版 | 顯示全部樓層
xstong 發表于 2021-2-19 12:29
1.優化任務實現方式,盡可能的減少純延遲的等待操作。
2.避免不了使用純延遲,且有其它應急處理,可以設計 ...

感謝提出建議
回復

使用道具 舉報

ID:883031 發表于 2021-2-21 10:49 | 顯示全部樓層
可根據任務的實時性要求不同來劃分,盡量少用軟件延時,定時中斷的方式可采納
回復

使用道具 舉報

ID:390416 發表于 2021-2-22 17:08 | 顯示全部樓層
你的這個要求 就是《人人學會單片機》視頻教程講解的東西,框架式編程方式
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表