• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 嵌入式時(shí)鐘管理器的設(shè)計(jì)與實(shí)現(xiàn)

    嵌入式時(shí)鐘管理器的設(shè)計(jì)與實(shí)現(xiàn)

    作者: 時(shí)間:2010-09-17 來源:網(wǎng)絡(luò) 收藏

      UINT8prior;

      UINT8next;

      }idatawdList[_MAX_WDOG_NUM_];

      UINT8headIdx;//索引首結(jié)點(diǎn)

      有了delta列表法的思路及其的數(shù)據(jù)結(jié)構(gòu),在靜態(tài)數(shù)組法具體的基礎(chǔ)上,便可得此法的具體

      應(yīng)用中如果目標(biāo)系統(tǒng)ROM較小,且系統(tǒng)中啟用的定時(shí)器少,則用靜態(tài)數(shù)組法;若目標(biāo)系統(tǒng)ROM較大,且系統(tǒng)中用到的定時(shí)器較多,則用delta列表法。

      3 應(yīng)用

      針對前述的系統(tǒng)中的定時(shí)需求,利用定時(shí)器系統(tǒng)給出其實(shí)現(xiàn)代碼。

      假定“特定操作”為voidspecFunc(void),“特定時(shí)間段”長度為10分鐘。

      (1)在經(jīng)歷特定的時(shí)間段后,執(zhí)行特定操作。

      #include″clk.h″

      #include″wdLib.h″

      voidmain(void){

      WDOG_IDwdId;

      constructClk();constructWDOG();

      wdId=wdCreate();

      wdStart(wdId,10*ONE_MINUTE,specFunc);

      while(1);

      }

      (2)以給定周期周期性地執(zhí)行特定操作。

      基于前者,只需在voidspecFunc(void)函數(shù)體的最后加入下述代碼即可:

      wdStart(wdId,10*ONE_MINUTE,specFunc);

      注:該給定周期為10分鐘。

      由于本器只需一個(gè)硬件定時(shí)器的支持,所以其具有廣泛的適用性。使用時(shí),只需進(jìn)行簡單的配置,即可為裸露的目標(biāo)系統(tǒng)加以簡單的軟件抽象層。其友好的用戶接口有效降低了系統(tǒng)的開發(fā)難度,提高了目標(biāo)系統(tǒng)的可靠性。筆者已在實(shí)際項(xiàng)目中多次使用了該器。基于該管理器的目標(biāo)系統(tǒng)運(yùn)行穩(wěn)定、可靠,從而充分說明該時(shí)鐘管理器的實(shí)用性和科學(xué)性。

    linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

    上一頁 1 2 3 4 下一頁

    評論


    相關(guān)推薦

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

    關(guān)閉
    主站蜘蛛池模板: 铜川市| 阜城县| 娄底市| 阿克| 娄底市| 仁化县| 奉化市| 池州市| 浪卡子县| 修武县| 合川市| 清水县| 通海县| 岑巩县| 曲水县| 南部县| 项城市| 宜章县| 荃湾区| 荆州市| 苍山县| 秭归县| 渭南市| 沙田区| 朝阳区| 河北区| 宾川县| 饶阳县| 伊宁县| 甘谷县| 留坝县| 芦溪县| 汕头市| 娱乐| 凉山| 浏阳市| 周口市| 石河子市| 富锦市| 纳雍县| 城市|