<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 一種高效定時(shí)器模塊的設(shè)計(jì)與實(shí)現(xiàn)

          一種高效定時(shí)器模塊的設(shè)計(jì)與實(shí)現(xiàn)

          作者: 時(shí)間:2011-03-25 來源:電子產(chǎn)品世界 收藏

            軟件定時(shí)器只有在有嘀嗒發(fā)生且自身狀態(tài)為RUNNING的情況下才會運(yùn)行,其計(jì)時(shí)時(shí)間-duration隨嘀嗒而累加,如果duration達(dá)到超時(shí)值,則置overow_ag,然后判斷該定時(shí)器是否周期定時(shí)器,是則重啟定時(shí)-清零duration,否則判斷是否多次定時(shí),定時(shí)次數(shù)計(jì)數(shù)未滿則重啟定時(shí),計(jì)數(shù)滿后停止該定時(shí)器。

          本文引用地址:http://www.ex-cimer.com/article/118088.htm

            定時(shí)器應(yīng)用

            在軟件系統(tǒng)中是一個(gè)基本功能單元,它為其他模塊或上層應(yīng)用提供超時(shí)、計(jì)時(shí)服務(wù)[5]。以門鎖的驅(qū)動(dòng)為例講述下定時(shí)器的應(yīng)用。

            在門鎖閉鎖時(shí),BCM對門鎖電機(jī)的閉鎖驅(qū)動(dòng)控制需要保持200ms的時(shí)間,在邏輯上便是輸出一個(gè)200ms的控制脈沖,該部分代碼如下:

            ...

            DrivePort(ALLDR_LK_OUT,DRIVEON);

            TimerStart(ALLDR_LOCK_200MS,200,0,1);

            if(1==TM[ALLDR_LOCK_200MS].overow_ag)

            {

            DrivePort(ALLDR_LK_OUT,DRIVEOFF);

            TM[ALLDR_LOCK_200MS].overow_ag=0;

            }

            ...

            可見,在設(shè)計(jì)良好的定時(shí)器驅(qū)動(dòng)以后,實(shí)現(xiàn)某種定時(shí)應(yīng)用非常簡單,其他應(yīng)用示例在此不再贅述。

            結(jié)語

            本文設(shè)計(jì)的,邏輯清晰,使用方便,做為一個(gè)穩(wěn)定的底層驅(qū)動(dòng),在實(shí)際應(yīng)用中得到了很好的應(yīng)用。


          上一頁 1 2 3 4 下一頁

          評論


          相關(guān)推薦

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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();