亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? stop_watch.c

?? zigbee無線網(wǎng)絡(luò)源碼包
?? C
字號:
/******************************************************************************
Filename:     stop_watch.c
Target:       cc2430
Author:       kja
Revised:      16/12-2005
Revision:     1.0

Description:
    This application shows a stopwatch. Use S1 on the EB card to start, stop
    and reset timer. Timer 3 is used for time-keeping.

******************************************************************************/

#include "app_ex.h"

typedef enum {START_STATE, RUN_STATE, STOP_STATE} STATE;

typedef struct TIME_S{
   UINT8 h;
   UINT8 m;
   UINT8 s;
} TIME;

void initStopWatch(void);
void printTime(void);
void incrementTime(void);
void stop_watch_main(void);
void stop_watch_T3_IRQ(void);

UINT16 overflow;
TIME t;


/******************************************************************************
* @fn  initStopWatch
*
* @brief
*      Initializes components for the stopwatch application example.
*
* Parameters:
*
* @param  void
*
* @return void
*
******************************************************************************/
void initStopWatch(void)
{
   initLcd();

   INIT_GLED();

   SET_MAIN_CLOCK_SOURCE(CRYSTAL);
   CLKCON &= ~0x38;


   // Enabling overflow interrupt from timer 3
   TIMER34_INIT(3);
   halSetTimer34Period(3, 1000);
   INT_ENABLE(INUM_T3, INT_ON);
   TIMER34_ENABLE_OVERFLOW_INT(3,INT_ON);
   INT_GLOBAL_ENABLE(INT_ON);
}



/******************************************************************************
* @fn  stop_watch_main
*
* @brief
*      Main function.
*
* Parameters:
*
* @param  void
*
* @return void
*
******************************************************************************/
#ifdef COMPLETE_APPLICATION
void stop_watch_main(void){
#else
void main(void){
#endif
   STATE state = START_STATE;
   initStopWatch();

   while(!stopApplication()){
      switch (state){
      case START_STATE:
         t.h = t.m = t.s = 0;
         overflow = 0;
         printTime();
         lcdUpdateLine(LINE1, (char*)"S1 for START");

         if(buttonPushed()){
            TIMER3_RUN(TRUE);
            state = RUN_STATE;
            lcdUpdateLine(LINE1, (char*)"S1 for STOP");
         }
         break;

      case RUN_STATE:
         INT_GLOBAL_ENABLE(INT_OFF);

         if(overflow > 0 && overflow < 0x09){
            GLED = LED_ON;
         }
         else if(overflow > (UINT16)1000){
            //overflow = 0;
            overflow -= 1000;
            incrementTime();
            printTime();
         }
         else{
            GLED = LED_OFF;
         }
         if(buttonPushed()){
            TIMER3_RUN(FALSE);
            state = STOP_STATE;
            GLED = LED_OFF;
         }

         INT_GLOBAL_ENABLE(INT_ON);
         break;
      case STOP_STATE:
            printTime();
            lcdUpdateLine(LINE1, (char*)"Total time is:");
            if(buttonPushed()){
               state = START_STATE;
            }
            break;
      default:
         break;
      }
   }

   INT_GLOBAL_ENABLE(INT_OFF);
   return;
}


/******************************************************************************
* @fn  incrementTime
*
* @brief
*      Increments time with 1 second. Wraps around for 60s and 60min.
*
* Parameters:
*
* @param  void
*
* @return void
*
******************************************************************************/
void incrementTime(void)
{
   if(t.s < 59){
      t.s++;
   }
   else{
      t.s = 0;
      if(t.m < 59){
         t.m++;
      }
      else{
         t.m = 0;
         t.h++;
      }
   }
}


/******************************************************************************
* @fn  printTime
*
* @brief
*      Prints current time to LCD.
*
* Parameters:
*
* @param  void
*
* @return void
*
******************************************************************************/
void printTime(void)
{
   char s[9];
   s[0] = '0' + (t.h/10);
   s[1] = '0' + (t.h%10);
   s[2] = ':';
   s[3] = '0' + (t.m/10);
   s[4] = '0' + (t.m%10);
   s[5] = ':';
   s[6] = '0' + (t.s/10);
   s[7] = '0' + (t.s%10);
   s[8] = '\0'; //endline
   lcdUpdateLine(LINE2, s);
}


/******************************************************************************
* @fn  stop_watch_T3_IRQ
*
* @brief
*     Interrupt handler for timer T3 interrupts.
*
* Parameters:
*
* @param  void
*
* @return void
*
******************************************************************************/
#ifdef COMPLETE_APPLICATION
   void stop_watch_T3_IRQ(void){
#else
#pragma vector=T3_VECTOR
__interrupt void stop_watch_T3_IRQ(void){
#endif
   if(TIMIF & 0x01){ //T3 overflow
      overflow++;
   }
   TIMIF &= ~0x01;
}


/******************************************************************************
* @fn  stop_watch_init
*
* @brief
*      Initializes the stopwatch application example.
*
* Parameters:
*
* @param  APPLICATION *a
*         Main application
*
* @return void
*
******************************************************************************/
#ifdef COMPLETE_APPLICATION
void stop_watch_init(APPLICATION *a)
{
   a->menuText = (char*)"Stop Watch";
   a->description = (char*)"Timer 3";
   a->main_func = stop_watch_main;
   a->interrupts[INUM_T3] = stop_watch_T3_IRQ;
}
#endif

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品动漫一区二区三区在线观看| 91丨九色丨尤物| 亚洲精品在线观| 国产精品91xxx| 国产精品污网站| 色婷婷香蕉在线一区二区| 国产欧美va欧美不卡在线| 成人午夜视频在线观看| 综合色天天鬼久久鬼色| 色视频一区二区| 日韩va欧美va亚洲va久久| 欧美成人性战久久| www.成人在线| 亚洲成人动漫一区| 久久综合丝袜日本网| 99麻豆久久久国产精品免费优播| 亚洲日本va午夜在线电影| 欧美日韩国产高清一区二区三区 | 91精品一区二区三区久久久久久| 日韩国产成人精品| 国产目拍亚洲精品99久久精品| 成人免费看视频| 亚洲成人激情社区| 国产日韩欧美a| 欧美在线一二三四区| 麻豆国产精品一区二区三区| 日本一区二区三区免费乱视频| 91免费版在线| 久88久久88久久久| 亚洲综合男人的天堂| 日韩欧美在线影院| 91香蕉国产在线观看软件| 麻豆精品视频在线观看免费| 17c精品麻豆一区二区免费| 欧美一级精品大片| 色噜噜久久综合| 国产精品资源网| 亚洲18女电影在线观看| 中文字幕精品在线不卡| 欧美精品99久久久**| 不卡的电影网站| 精品一区二区三区免费观看| 亚洲精品大片www| 亚洲国产精品成人综合| 欧美一区二区在线播放| 99精品欧美一区| 国内国产精品久久| 无码av免费一区二区三区试看| 国产欧美一区二区三区在线看蜜臀| 在线观看日韩精品| www..com久久爱| 国产剧情一区二区| 另类成人小视频在线| 亚洲国产三级在线| 中文字幕综合网| 中文子幕无线码一区tr| 欧美精品一区二区三区蜜臀| 欧美日韩高清影院| 在线观看亚洲精品| 99v久久综合狠狠综合久久| 国产呦精品一区二区三区网站| 午夜激情一区二区三区| 亚洲欧美另类久久久精品| 久久久久99精品一区| 日韩午夜激情视频| 欧美精品在欧美一区二区少妇| 91浏览器入口在线观看| av在线播放成人| 成人免费av资源| 成人h精品动漫一区二区三区| 国产精品一区三区| 国产一区二区三区最好精华液| 日本欧美韩国一区三区| 日韩一区精品视频| 日韩影院免费视频| 蜜臀av一区二区三区| 免费人成精品欧美精品| 奇米一区二区三区av| 奇米一区二区三区| 久久精品国产亚洲5555| 毛片基地黄久久久久久天堂| 麻豆精品在线看| 国产精品一区二区久久精品爱涩 | 91国在线观看| 91精品办公室少妇高潮对白| 91国偷自产一区二区三区观看 | 日本电影欧美片| 在线一区二区视频| 欧美日本韩国一区二区三区视频| 欧美日韩一级视频| 欧美一区二区视频在线观看2022| 欧美一级生活片| 精品国产乱码久久久久久蜜臀| 精品国精品国产| 国产精品国产三级国产普通话三级 | 午夜激情综合网| 免费观看日韩av| 国产麻豆精品在线观看| 99精品欧美一区二区蜜桃免费| 欧美色图片你懂的| 日韩一区二区三区三四区视频在线观看 | 中日韩av电影| 亚洲国产裸拍裸体视频在线观看乱了| 五月天激情综合| 国产99久久久久| eeuss鲁一区二区三区| 欧美三片在线视频观看| 精品国产123| 亚洲欧美区自拍先锋| 日韩极品在线观看| 丁香一区二区三区| 亚洲三级在线播放| 美女性感视频久久| 99久久综合国产精品| 91精品一区二区三区在线观看| 久久美女艺术照精彩视频福利播放| 中文字幕一区三区| 日本中文字幕不卡| av午夜一区麻豆| 91精品国产高清一区二区三区| 国产亚洲人成网站| 亚洲高清一区二区三区| 国产精品一区二区久久不卡| 在线精品视频免费观看| 久久久高清一区二区三区| 亚洲一区二区av电影| 国产一区二区电影| 欧美人狂配大交3d怪物一区| 国产三级一区二区| 丝瓜av网站精品一区二区| 成人黄页在线观看| 日韩欧美在线不卡| 亚洲高清中文字幕| 91视频精品在这里| 欧美国产一区在线| 九九**精品视频免费播放| 欧美日韩中文精品| 亚洲欧美一区二区视频| 精品一区二区久久久| 欧美日韩不卡在线| 日韩美女精品在线| 国产精品亚洲а∨天堂免在线| 欧美一区二区三区在| 一区二区三区国产精品| 成人av电影免费观看| 精品处破学生在线二十三| 五月综合激情婷婷六月色窝| 色综合天天做天天爱| 欧美国产精品专区| 国产黄色精品网站| 久久一区二区三区四区| 日日骚欧美日韩| 欧美日韩在线免费视频| 亚洲综合色噜噜狠狠| 色综合中文综合网| 国产日韩欧美综合一区| 久久精品99久久久| 91精品国产91久久久久久一区二区 | 欧美高清激情brazzers| 亚洲伊人色欲综合网| 色综合av在线| 一区二区三区中文在线观看| 99天天综合性| 国产精品久久久久久久久晋中| 久久99国产精品成人| 欧美mv和日韩mv的网站| 激情五月婷婷综合网| 久久色.com| 国产精品亚洲专一区二区三区| 精品日韩一区二区| 国产精品 欧美精品| 国产午夜亚洲精品理论片色戒| 国产河南妇女毛片精品久久久| 精品成人一区二区三区四区| 国产在线国偷精品免费看| 国产日产精品1区| 成人国产亚洲欧美成人综合网 | 国产98色在线|日韩| 国产精品久久久久久妇女6080 | 欧美性猛交xxxxxx富婆| 性久久久久久久久久久久| 欧美日韩国产一级| 人妖欧美一区二区| 久久日一线二线三线suv| 国产 日韩 欧美大片| 亚洲欧美国产毛片在线| 精品视频一区二区不卡| 麻豆精品在线观看| 国产精品色婷婷| 欧日韩精品视频| 美国毛片一区二区| 国产精品人人做人人爽人人添| 91亚洲永久精品| 午夜精品在线视频一区| 亚洲精品一区二区精华| 本田岬高潮一区二区三区| 亚洲一区二区欧美激情| 欧美精品一区二区三区四区| av成人老司机| 蜜桃av一区二区在线观看|