久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2968|回復: 8
打印 上一主題 下一主題
收起左側

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

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

使用道具 舉報

沙發
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 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

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

評分

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

查看全部評分

回復

使用道具 舉報

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

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

使用道具 舉報

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

感謝提出建議
回復

使用道具 舉報

8#
ID:883031 發表于 2021-2-21 10:49 | 只看該作者
可根據任務的實時性要求不同來劃分,盡量少用軟件延時,定時中斷的方式可采納
回復

使用道具 舉報

9#
ID:390416 發表于 2021-2-22 17:08 | 只看該作者
你的這個要求 就是《人人學會單片機》視頻教程講解的東西,框架式編程方式
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 中文字幕在线视频一区二区三区 | 成人欧美一区二区三区在线播放 | 国产高清一区二区三区 | 欧美成人手机视频 | 91精品国产乱码久久蜜臀 | 国产成人精品免费视频大全最热 | 国产激情一区二区三区 | 欧美大片一区二区 | 久久国产麻豆 | 视频在线亚洲 | 亚洲国产成人精品久久 | 色综合99 | 久久久久久国模大尺度人体 | 日韩精品一区二区三区免费视频 | 国产精品久久久久久久免费大片 | 午夜精品久久久久久久久久久久 | 成人影院免费视频 | 91精品久久久久久久久 | 男女羞羞的网站 | 97人人澡人人爽91综合色 | 97精品视频在线观看 | 草草视频在线播放 | 国产精品一区二区视频 | 久草精品视频 | 国产高清视频在线 | 6996成人影院网在线播放 | 国产精品美女 | 成人三区 | 欧美一区二区在线看 | 国产亚洲精品久久情网 | caoporn地址 | 精品国产色 | 黄色一级视频 | 日韩毛片免费视频 | 日本一级淫片免费啪啪3 | 日韩亚洲一区二区 | 国产精品a久久久久 | 91亚洲国产亚洲国产 | 日日夜夜免费精品视频 | 亚洲一区在线日韩在线深爱 | 欧美不卡视频 |