新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 一種高效定時器模塊的設計與實現

        一種高效定時器模塊的設計與實現

        作者: 時間:2011-03-25 來源:電子產品世界 收藏

          可見,啟動某個軟件定時器便是設置由timer_id枚舉的TIMER數組成員的各個成員變量,下面詳細介紹軟件定時器的運行。

        本文引用地址:http://www.104case.com/article/118088.htm

          作為所有軟件定時器的基準源,硬件定時器設定為2ms的周期定時,在時鐘中斷服務程序中全局時鐘嘀嗒Jiffs累加,TimerTicked置1,軟件定時器運行函數如下:

          void TimerTick(void)

          {

          uint timer_index;

          if(0==TimerTicked)

          {

          return ;

          }

          for(timer_index=0;timer_index

          {

          if(RUNNING==TIMER[timer_index].timer_state)

          {

          TIMER[timer_index].duration++;

          if(TIMER[timer_index].duration>=TIMER[timer_index].timeout)

          {

          TIMER[timer_index].overflow_ag=1;

          if(TIMER[timer_index].cycle)

          {

          TimerReStart(timer_index);

          }

          else

          {

          TIMER[timer_index].cnt_times--;

          if(0==TIMER[timer_index].cnt_times)

          {

          TimerStall(timer_index);

          }

          else

          {

          TimerReStart(timer_index);

          }}}}}

          TimerTicked=0;

          }



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 榆社县| 邹平县| 余江县| 当涂县| 博客| 获嘉县| 武胜县| 新疆| 工布江达县| 基隆市| 寻乌县| 平原县| 麟游县| 西畴县| 吉木萨尔县| 宕昌县| 陇南市| 共和县| 曲靖市| 平远县| 开化县| 高青县| 定远县| 正定县| 蒙自县| 将乐县| 安康市| 新昌县| 禄劝| 会泽县| 满洲里市| 勐海县| 临漳县| 贵溪市| 惠来县| 巧家县| 南投县| 奇台县| 历史| 山东| 任丘市|