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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

基于UC/OS 操作系統應用開發的一點經驗

[復制鏈接]
跳轉到指定樓層
樓主
ID:140343 發表于 2016-9-24 18:59 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
        從單片機“裸奔”程序,到基于時間片輪轉調度器程序,到UC/OS操作系統開發,本人算是積累了一些經驗;通過大量實踐還是覺得基于UC/OS 操作系統程序最簡單,效率最高。從一般應用角度來說,UC/OS_II比UC/OS_III更簡單,程序更容易調試。后者,主要是在同優先級任務出現時提供了時間片輪轉法調度器和中斷程序管理,多了一些可剪裁的便于程序調試和優化的宏定義。UC/OS_III可堪稱作為程序員學習C語言編程的經典之作。以下所說是基于已經移植好了UC/OS 操作系統工程模板。這里不說移植的事,因為自己還沒有十分整明白。不過,各種風格的工程模板很多,拿來做些修改就能用。

       基于UC/OS 操作系統應用中出現錯誤最多的是:1,死機;有時候是一開機就直接死機,有時候是跑幾分鐘之后死機。這種情況一般是:a),任務優先級沒有設置合理;b),任務堆棧過小,導致內存泄漏;c),時鐘節拍頻率過高,導致CPU負荷過重死機;可以通過,#define OS_TICKS_PER_SEC               200u   /* Set the number of ticks in one second節拍:5ms 調整;d),每個任務都必須有合理的延時,以便交出CPU使用權,讓低優先級任務有機會使用CPU。

      注意:每個任務中不能有過長時間的延時,否則會造成嚴重后果。比如,控制一臺電動機Y-△啟動,工作流程是先電動機星型運行8-12秒,再延時1s,再切換到電動機三角形運行。就這么個簡單玩意要真正做到控制自如,任意時刻可以操作啟停電機,還不是那么簡單的事。這個任務中就有如何處理長時間延時的問題。


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

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