在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > 電源與新能源 > 設(shè)計應用 > 高效使用單片機放棄程序中延時函數(shù)

            高效使用單片機放棄程序中延時函數(shù)

            作者: 時間:2014-01-16 來源:網(wǎng)絡(luò) 收藏
            -family: Tahoma, Arial, sans-serif; font-size: 14px; text-align: justify; ">這樣,在前后臺系統(tǒng)中主程序?qū)⑷蝿?wù)分配完,還有很多余力處理很多事。

            本文引用地址:http://www.biyoush.com/article/226910.htm

            比如有很多個鍵盤、LED點陣、數(shù)碼管等,它們都需要實時響應,很容造成編程困難、響應遲鈍,其實只要把延時的時間回收,處理這些就非常從容了。

            可能還有人會說,有些項目用不了這么苛刻的時間,你回收的時間用不了,要那么多干嘛?

            其實這時,你就可以用死循環(huán)掃描事件,可以實時響應。你的系統(tǒng)跟原來空循環(huán)延時比,實時性要高了不知多少倍。2、變異的協(xié)作式內(nèi)核

            先說說嵌入式操作系統(tǒng)的內(nèi)核,簡單的說,它就是個任務(wù)調(diào)度器,讓多個任務(wù)在同一個CPU上同時執(zhí)行,所謂同時也是相對的,無非就第一個任務(wù)執(zhí)行幾毫秒、第二個任務(wù)在執(zhí)行幾毫秒。。。外表看起來就是同時執(zhí)行。

            至于可剝奪式內(nèi)核和協(xié)作式內(nèi)核的區(qū)別,大家可以百度一下。

            說道能在上用的嵌入式操作系統(tǒng),大家會說出一些如uCosII、FreeOS等操作系統(tǒng)。

            還有很多人對這些操作系統(tǒng)十分抗拒、十分反對,他們的理由是什么?

            1、這些操作系統(tǒng)占用大量RAM、ROM

            2、這些實時操作系統(tǒng)所謂的實時是相對非實時操作系統(tǒng)的,跟裸機比實際上是慢了

            這些理由不是沒道理,因為這些商用操作系統(tǒng)都是可剝奪式內(nèi)核,它們的原則是保證最高優(yōu)先級任務(wù)在可確定的時間內(nèi)響應。

            它們的有優(yōu)點是任務(wù)切換時間是確定的,不會隨任務(wù)的多少而改變。

            有了這些確定性,讓它們在商用產(chǎn)品大放光彩。因為其時間穩(wěn)定性。

            但它們的缺點也很明顯,中斷級節(jié)拍浪費很多時間。任務(wù)間同時調(diào)用時引發(fā)同步問題而引入許多如信號量、郵箱等機制浪費大量RAM、ROM。

            綜上,可剝奪式內(nèi)核穩(wěn)定可定量,在越高級的上越有優(yōu)勢,在8位機上可用,但需要大量裁剪,并不一定合適。

            而協(xié)作式內(nèi)核的核心思想是什么?它不像剝奪式內(nèi)核保證最高級任務(wù)速度最快,而是保證所有任務(wù)的平均速度最快!

            正如我前面的說法,我連續(xù)兩個之間的代碼很難超過1ms,甚至很難超過100us,我們可以將其忽略。這樣10個任務(wù),第一個執(zhí)行完主動放棄控制權(quán),交給第二個任務(wù),第二個任務(wù)執(zhí)行完主動放棄控制權(quán),交給第三個任務(wù)。10個任務(wù)之間無間隙,每一個任務(wù)需要延時時,就主動放棄控制權(quán)。

            基于這種思想,我們的就達到了回收空轉(zhuǎn)延時的目的,而且應為每個任務(wù)是執(zhí)行完后主動放棄,所以不存在剝奪式內(nèi)核的同步問題,基本不需要郵箱、信號量等機制,對RAM、ROM的要求就非常低了。

            這樣來看,協(xié)作式內(nèi)核非常適合8位機。但可能有太多嵌入式系統(tǒng)的書中對剝奪式內(nèi)核不分場合的認可,造成很多人誤解。而且uCos等系統(tǒng)的權(quán)威,也讓很多RTOS作者爭相效仿,沒用對8位機的場合做合理分析。

            商用系統(tǒng)中沒有協(xié)作式內(nèi)核,而民用的,還少有優(yōu)秀的協(xié)作式內(nèi)核,都是基于傳統(tǒng)節(jié)拍。

            傳統(tǒng)協(xié)作式內(nèi)核需要定時中斷為時鐘基準,也會間歇性打斷任務(wù),造成不必要的損失,這并不是我們想要的。

            我們其實可以僅僅是讓定時器以大分頻系數(shù)開著, 而不給其產(chǎn)生中斷的機會。當任務(wù)將要放棄使用權(quán)時,讀取定時器,作為時鐘基準,然后清零。

            做法一句兩句說不清,而效果是什么?可以做到任務(wù)是以不受干擾,與裸機相同的工作狀態(tài),這是傳統(tǒng)協(xié)作式內(nèi)核做不到的,而僅當它需要延時了,才放棄使用權(quán),將延時的時間給其它任務(wù)。這正符合我全文的目的 -- 回收空轉(zhuǎn)延時時間,這樣的內(nèi)核體積會非常小,運行方式與裸機無異,僅僅是把空轉(zhuǎn)延時時間干些其它事。對使用者還沒什么要求,不想以往系統(tǒng)那么復雜。

            可惜市面上并沒有基于這種方式的內(nèi)核,我已經(jīng)寫了一個,非常精簡,運行穩(wěn)定。但作為一個想應用實際的內(nèi)核,還需要檢驗。


            上一頁 1 2 下一頁

            關(guān)鍵詞: 單片機 延時函數(shù)

            評論


            相關(guān)推薦

            技術(shù)專區(qū)

            關(guān)閉