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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? timer.c

?? 網絡服務器上實現操作系統和嵌入式協議棧的 結合
?? C
字號:
//-+---+---++-+--+-++-+++--++--+++
#include "std.h"
#include "snds.h"
#include "isr.h"
#include "timer.h"
#include "sysconf.h"
#define   MAX_LINE_BUF     250

volatile unsigned int  clk_tick0 = 0;  //  time tick for timer 0  
volatile unsigned int  clk_tick1 = 0;  //  time tick for timer 0  
volatile unsigned int  WatchDogStatus = 0;  

//  Timer0,1 can be used for system real time clock  
TIME tm0 = {0,0,0,0,0,0};
TIME tm1 = {0,0,0,0,0,0};
//-+---+---++-+--+-++-+++--++--+++
// *********************************************************************** 
//  NAME : tm_init(timer device, time periode)                             
//  FUNCTIONS : Initialize the TIMER0,1.                                   
//  EXAMPLES :                                                             
//              tm_init(TIMER_DEV0,ONE_SECOND/TICKS_PER_SECOND);           
//                Where, the TIMER_DEV0 means timer0.                      
//                           ONE_SECOND = 1000,                            
//                           TICKS_PER_SECOND = 100,                       
//                 then timer0 timer periode become to 10ms.               
// *********************************************************************** 
//這里的初始化是安裝缺省的中斷向量,并沒有打開時鐘

void tm_init(int TIMER_DEV, int t) 
{

   if(TIMER_DEV)  //  for TIMER 1  
   {
         Disable_Int(nTIMER1_INT);    
	 SysSetInterrupt(nTIMER1_INT, tm1isr);
         TDATA1 = t_data_ms(t);    //  unit is [ms]  
         TCNT1 = 0x0;
         TMOD  = TM1_TOGGLE;       //  Toggle pulse will be out to port  
         Enable_Int(nTIMER1_INT);  //  Timer interrupt enable  
   }
   else  //  for TIMER0  
   {
         Disable_Int(nTIMER0_INT);    
	 SysSetInterrupt(nTIMER0_INT, tm0isr);
         TDATA0 = t_data_ms(t);  
         TCNT0 = 0x0;
         TMOD  = TM0_TOGGLE;        
         Enable_Int(nTIMER0_INT); 
         //IOPCON = (1<<29);       //  Timer0 output(TOUT0)enable   
   }
}
// *********************************************************************** 
//  NAME : tmReset(timer device )                                          
//  FUNCTIONS : Clear and initialize the TIMER0 or TIMER1                  
//  EXAMPLES :                                                             
//              tmReset(TIMER_DEV0);                                       
//                Where, the TIMER_DEV0 means timer0.                      
// *********************************************************************** 
void tmReset(int TIMER_DEV)
{
    if(TIMER_DEV) {
              TMOD &= ~TM1_RUN;       //  Clear Timer mode register       
              TDATA1 = 0;             //  Clear Timer data register  
              TCNT1  = 0xffffffff;    //  Clear timer counter register  
    }
    else {
              TMOD &= ~TM0_RUN;       //  Clear Timer mode register       
              TDATA0 = 0;             //  Clear Timer data register  
              TCNT0  = 0xffffffff;    //  Clear timer counter register  
    }

    ClrTimeVar(TIMER_DEV); //  Initialize timer variable  
}

void ClrTimeVar(int TIMER_DEV)
{
   if(TIMER_DEV) //  for timer1  
   {
        tm1.tm_sec = 0;   
        tm1.tm_min = 0;
        tm1.tm_hour = 0;
        tm1.tm_mday = 0;
        tm1.tm_mon = 0;
        tm1.tm_year = 0;
        clk_tick1    = 0;
   } 
   else  //  for timer0  
   {
        tm0.tm_sec = 0;   
        tm0.tm_min = 0;
        tm0.tm_hour = 0;
        tm0.tm_mday = 0;
        tm0.tm_mon = 0;
        tm0.tm_year = 0;
        clk_tick0    = 0;
   }
}



// *********************************************************************** 
//  NAME : tm0isr()                                                        
//  FUNCTIONS : Timer0 interrupt service routine.                          
//  EXAMPLES :                                                             
//        SysSetInterrupt(nTIMER0_INT, tm0isr);                            
// *********************************************************************** 
void tm0isr(void)
{
    clk_tick0++;  

     if(clk_tick0 == TICKS_PER_SECOND) 
     {
         clk_tick0 = 0;
         if(tm0.tm_sec++ > 59) 
         { 
              tm0.tm_sec = 0;
              if(tm0.tm_min++ > 59) 
              {  
                  tm0.tm_min = 0;
                  if(tm0.tm_hour++ > 23) 
                  {
                      tm0.tm_hour = 0;
                      if(tm0.tm_mday++ > 30) 
                      {
                          tm0.tm_mday = 0;
                          if(tm0.tm_mon++ > 11) 
                          { 
                              tm0.tm_mon = 0; 
                              tm0.tm_year++;
                           }
                       }
                  }
              }
          }
          //  4 means digit number for LED display  
          IOPDATA = ~(1<<tm0.tm_sec%4); 
    }  
}



// *********************************************************************** 
//  NAME : tm1isr()                                                        
//  FUNCTIONS : Timer1 interrupt service routine.                          
//  EXAMPLES :                                                             
//        SysSetInterrupt(nTIMER1_INT, tm1isr);                            
// *********************************************************************** 
void tm1isr(void)
{
    clk_tick1++;  

     if(clk_tick1 == TICKS_PER_SECOND) 
     {
         clk_tick1 = 0;
         if(tm1.tm_sec++ > 59) 
         { 
              tm1.tm_sec = 0;
              if(tm1.tm_min++ > 59) 
              {  
                  tm1.tm_min = 0;
                  if(tm1.tm_hour++ > 23) 
                  {
                      tm1.tm_hour = 0;
                      if(tm1.tm_mday++ > 30) 
                      {
                          tm1.tm_mday = 0;
                          if(tm1.tm_mon++ > 11) 
                          { 
                              tm1.tm_mon = 0; 
                              tm1.tm_year++;
                           }
                       }
                  }
              }
          }
          //  4 means digit number for LED display  
          IOPDATA = ~(16<<tm1.tm_sec%4); 
    }  
}


// *********************************************************************** 
//  NAME : tmCntr(TM_PARAM *t)                                             
//  FUNCTIONS : Re-initialize the timer.                                   
//  EXAMPLES :                                                             
//              t->TIMER_Lisr = Timer1Lisr;                                
//              t->TM_CHANNEL = TIMER_DEV1;                                
//              t->TM_MODE    = TM1_TOGGLE;                                
//              t->TM_DATA    = ONE_SECOND/TIME_TICKS_PER_SECOND;          
//              t->TM_OUT_PORT = 1;  //timer output enabled                
//              tmCntr(t);                                                 
//  VARIABLES USED                                                         
//          TM_PARAM       ; TIMER parameter data structures               
// *********************************************************************** 
//-+---+---++-+--+-++-+++--++--+++
//被我改名為TimerSetup(TM_PARAM *t)
void TimerSetup(TM_PARAM *t)
{
     if(t->TM_CHANNEL) 
     {
         Disable_Int(nTIMER1_INT);    
	 SysSetInterrupt(nTIMER1_INT, t->TIMER_Lisr);
         TCNT1 = 0x0;
         TDATA1 = t->TM_DATA;
         TMOD   = t->TM_MODE;
         if(t->TM_OUT_PORT) IOPCON |= (1<<30); //  enable Timer1 out  
         Enable_Int(nTIMER1_INT); 
   
   }
   else 
   {
         Disable_Int(nTIMER0_INT);    
	 SysSetInterrupt(nTIMER0_INT, t->TIMER_Lisr);
         TCNT0 = 0x0;
         TDATA0 = t->TM_DATA;
         TMOD   = t->TM_MODE;
         if(t->TM_OUT_PORT) IOPCON |= (1<<29); //  enable Timer1 out  
         Enable_Int(nTIMER0_INT); 
   }
} 



?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久久久97国产精华液好用吗| 91蝌蚪porny| 欧美电视剧免费全集观看| 午夜精品久久久久久| 欧美高清视频www夜色资源网| 亚洲国产va精品久久久不卡综合| 精品视频在线视频| 日日嗨av一区二区三区四区| 欧美tickling网站挠脚心| 国产在线国偷精品免费看| 久久久九九九九| 色婷婷久久99综合精品jk白丝| 亚洲午夜av在线| 日韩精品影音先锋| 成人一道本在线| 亚洲精品国产视频| 欧美一区二区成人| 国产一区二区主播在线| 国产精品理伦片| 精品视频一区 二区 三区| 日本不卡中文字幕| 日本一区二区三区国色天香| 日本精品免费观看高清观看| 捆绑调教一区二区三区| 欧美韩国一区二区| 欧美日韩免费观看一区二区三区 | 精品久久人人做人人爰| 国产福利一区二区三区在线视频| 亚洲天天做日日做天天谢日日欢| 亚洲一区二区3| 韩国女主播一区二区三区| 久久久91精品国产一区二区三区| 97aⅴ精品视频一二三区| 日韩二区三区四区| 国产精品福利影院| 91精品国产综合久久久久久 | 欧美视频中文字幕| 国产精品亚洲第一区在线暖暖韩国 | 欧美va在线播放| 95精品视频在线| 国产乱色国产精品免费视频| 一区二区三区 在线观看视频| 日韩免费性生活视频播放| 99精品久久久久久| 国产伦精品一区二区三区免费迷 | 午夜一区二区三区在线观看| 国产午夜精品福利| 欧美肥大bbwbbw高潮| 成人精品视频一区二区三区| 日本亚洲三级在线| 一区二区三区在线观看动漫| 国产日本一区二区| 日韩免费看的电影| 欧美日韩亚洲综合在线 欧美亚洲特黄一级 | 欧美性猛交xxxxxx富婆| 国产成人鲁色资源国产91色综 | 亚洲精品高清在线| 国产日韩成人精品| 337p日本欧洲亚洲大胆色噜噜| 欧美在线你懂得| 91女厕偷拍女厕偷拍高清| 国产69精品久久久久毛片| 蜜臀av性久久久久蜜臀aⅴ流畅 | 国产精品国产三级国产普通话三级 | 国产精品日产欧美久久久久| 日韩视频中午一区| 777xxx欧美| 欧美福利视频导航| 欧美色老头old∨ideo| 色婷婷综合五月| 91香蕉视频mp4| 不卡的av中国片| 成人国产精品视频| 成人免费高清在线| 国产suv一区二区三区88区| 精品一区二区日韩| 精品一区二区久久| 久久福利视频一区二区| 男女性色大片免费观看一区二区| 亚洲1区2区3区4区| 爽好久久久欧美精品| 日本亚洲欧美天堂免费| 奇米色一区二区| 精品一区二区三区在线播放 | 日韩一区二区免费在线观看| 欧美精品乱码久久久久久| 欧美日韩国产成人在线91| 欧美精品tushy高清| 精品入口麻豆88视频| 精品国产麻豆免费人成网站| 久久综合丝袜日本网| 久久久精品tv| 亚洲少妇屁股交4| 亚洲不卡在线观看| 日韩影院精彩在线| 国产一区二区在线影院| 懂色av一区二区三区蜜臀| 99精品一区二区三区| 色8久久人人97超碰香蕉987| 91.com在线观看| 国产亚洲成年网址在线观看| 亚洲男帅同性gay1069| 亚洲一级不卡视频| 国内成+人亚洲+欧美+综合在线| 国产经典欧美精品| 91麻豆免费观看| 777xxx欧美| 国产精品区一区二区三区| 一区二区成人在线| 免费观看在线色综合| 成人综合婷婷国产精品久久蜜臀| 91在线国内视频| 欧美一区二区三区免费在线看| 久久亚洲春色中文字幕久久久| 国产精品福利电影一区二区三区四区| 亚洲精品成人在线| 久久国产精品99久久人人澡| 国产成人av电影在线| 欧美无人高清视频在线观看| 日韩一区二区三区电影在线观看| 国产精品色哟哟| 天天色天天爱天天射综合| 国产精品一区二区无线| 欧美主播一区二区三区| 久久免费美女视频| 亚洲一区二区三区四区在线免费观看| 久久超级碰视频| 日本福利一区二区| 久久精品人人做人人爽97 | 日韩av不卡一区二区| 国产成人一区二区精品非洲| 欧美在线播放高清精品| 久久久国产综合精品女国产盗摄| 亚洲综合网站在线观看| 国产福利91精品一区| 欧美日韩国产一级| 国产精品久久福利| 狠狠色狠狠色合久久伊人| 欧美午夜精品电影| 亚洲男人电影天堂| 成人av电影在线| 欧美不卡一区二区三区| 亚洲成国产人片在线观看| 成人av电影在线播放| 久久精品免视看| 久久国产欧美日韩精品| 欧美日韩不卡视频| 亚洲美腿欧美偷拍| 大胆欧美人体老妇| 久久综合狠狠综合| 免费观看成人鲁鲁鲁鲁鲁视频| 色偷偷88欧美精品久久久| 国产精品嫩草影院com| 国产真实乱偷精品视频免| 3d动漫精品啪啪1区2区免费| 亚洲线精品一区二区三区八戒| 国产成人av一区| 国产亚洲欧美中文| 国产大片一区二区| 国产婷婷一区二区| 国内偷窥港台综合视频在线播放| 日韩视频在线观看一区二区| 亚洲成人免费在线| 91黄色免费网站| 亚洲男女毛片无遮挡| 99久久精品99国产精品| 国产精品不卡一区| 激情综合色播五月| 精品久久久久久综合日本欧美| 奇米精品一区二区三区在线观看一| 4438成人网| 精品一区二区三区视频| 亚洲精品一区二区三区四区高清| 日韩黄色小视频| 欧美精品在线一区二区三区| 一区二区三区在线免费观看 | 99久久精品国产导航| 亚洲精品v日韩精品| 91国偷自产一区二区三区成为亚洲经典| 亚洲美女屁股眼交| 欧美日韩激情一区二区| 日本成人在线一区| 精品国产一区二区在线观看| 激情综合网激情| 亚洲国产精品成人综合色在线婷婷| 成人精品电影在线观看| 国产精品九色蝌蚪自拍| 欧美视频三区在线播放| 美女网站视频久久| 久久久国产精品午夜一区ai换脸| 丰满放荡岳乱妇91ww| 亚洲精品久久久蜜桃| 91精品国产综合久久精品麻豆| 捆绑紧缚一区二区三区视频| 国产亚洲成aⅴ人片在线观看| 不卡一卡二卡三乱码免费网站| 最新中文字幕一区二区三区| 91福利视频在线| 青青青爽久久午夜综合久久午夜| 精品国产乱码久久久久久牛牛 |