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

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

?? scheduler.c

?? 該源碼是基于atmel公司的89C51SND1C的mp3解決方案
?? C
字號:
/*C**************************************************************************
* NAME:         scheduler.c
*----------------------------------------------------------------------------
* Copyright (c) 2003 Atmel.
*----------------------------------------------------------------------------
* RELEASE:      snd1c-refd-nf-4_0_3      
* REVISION:     1.8     
*----------------------------------------------------------------------------
* PURPOSE:
* This file contains the scheduler routines
*
* NOTES:
* Configuration:
*   - SCH_TYPE in scheduler.h header file
*   - SCH_TIMER in scheduler.h header file
* Global Variables:
*   - gl_cpt_tick: byte in data space
*   - gl_kbd_tick: byte in data space
*   - gl_mem_tick: byte in data space
*
*****************************************************************************/

/*_____ I N C L U D E S ____________________________________________________*/

#include "config.h"                         /* system definition */
#include "lib_mcu\timer\timer_drv.h"        /* timer definition */
#include "scheduler.h"                      /* scheduler definition */


/*_____ M A C R O S ________________________________________________________*/


/*_____ D E F I N I T I O N ________________________________________________*/

extern  data    Byte    gl_cpt_tick;        /* general tick counter */
extern  data    Byte    gl_kbd_tick;        /* keypad tick counter */
extern  data    Byte    gl_mem_tick;        /* memory tick counter */
extern  data    Byte    gl_led_tick;        /* led tick counter */
extern  idata   Uint16  gl_act_tick;        /* led tick counter */

#if (SCH_TYPE != SCH_FREE)
  bit   sch_tick_flag;
#endif


/*_____ D E C L A R A T I O N ______________________________________________*/

static  void sch_time_init (void);


/*F**************************************************************************
* NAME:     sch_scheduler_init
*----------------------------------------------------------------------------
* PARAMS:
*
* return:
*----------------------------------------------------------------------------
* PURPOSE: 
*   Scheduler initialization
*----------------------------------------------------------------------------
* EXAMPLE:
*----------------------------------------------------------------------------
* NOTE:
*   Task_x_init() and Task_x_fct() are defined in scheduler.h
*----------------------------------------------------------------------------
* REQUIREMENTS:
*****************************************************************************/
void sch_scheduler_init (void)
{
  Task_1_init();  
  Task_2_init();  
  Task_3_init();  
  Task_4_init();  
  Task_5_init();  
  Task_6_init();  
  Task_7_init();  
  Task_8_init();  
  Task_9_init();  
  Task_10_init();
#if (SCH_TYPE != SCH_FREE)
  sch_tick_flag = FALSE;
#endif
  sch_time_init();                /* start time base */
}


/*F**************************************************************************
* NAME:     sch_scheduler
*----------------------------------------------------------------------------
* PARAMS:
*
* return:
*----------------------------------------------------------------------------
* PURPOSE:
*   Task execution scheduler 
*----------------------------------------------------------------------------
* EXAMPLE:
*----------------------------------------------------------------------------
* NOTE:
*----------------------------------------------------------------------------
* REQUIREMENTS:
*****************************************************************************/
void sch_scheduler (void)
{
  while (1)
  {
    Task_1_fct();
    Sch_call_next_task();

    Task_2_fct();
    Sch_call_next_task();

    Task_3_fct();
    Sch_call_next_task();
  
    Task_4_fct();
    Sch_call_next_task();
  
    Task_5_fct();
    Sch_call_next_task();
  
    Task_6_fct();
    Sch_call_next_task();
  
    Task_7_fct();
    Sch_call_next_task();
  
    Task_8_fct();
    Sch_call_next_task();
  
    Task_9_fct();
    Sch_call_next_task();
  
    Task_10_fct();
    Sch_call_next_task();

    Sch_new_schedule();
  }
}


/*F**************************************************************************
* NAME:    sch_default_fct
*----------------------------------------------------------------------------
* PARAMS:
*
* return:
*----------------------------------------------------------------------------
* PURPOSE:
*   This function does nothing 
*----------------------------------------------------------------------------
* EXAMPLE:
*----------------------------------------------------------------------------
* NOTE:
*----------------------------------------------------------------------------
* REQUIREMENTS:
*****************************************************************************/
void sch_default_fct (void)
{
}


#if (SCH_TIMER == SCH_TIMER0)
/*F**************************************************************************
* NAME:     sch_time_init
*----------------------------------------------------------------------------
* PARAMS:
*
* return:
*----------------------------------------------------------------------------
* PURPOSE:
*   Scheduler time base (timer 0) initialization
*----------------------------------------------------------------------------
* EXAMPLE:
*----------------------------------------------------------------------------
* NOTE:
*   mode 16-bit Timer, Time counter
*   T0_PRIO to be defined in config.h
*   TIM_LOW & TIM_HIGH defined in scheduler.h
*----------------------------------------------------------------------------
* REQUIREMENTS:
*****************************************************************************/
void sch_time_init (void)
{
  T0_init(T0_NOT_GATED, T0_TIMER, T0_MODE_1);
  TL0 = TIM_LOW;
  TH0 = TIM_HIGH;
  t0_set_prio(T0_PRIO);         /* set-up priority */
  T0_enable_int();              /* enable interrupt */
  T0_start();                   /* start time base */
}

/*F**************************************************************************
* NAME:     sch_timer_int
*----------------------------------------------------------------------------
* PARAMS:
*
* return:
*----------------------------------------------------------------------------
* PURPOSE:
*   Timer 0 interrupt function
*----------------------------------------------------------------------------
* EXAMPLE:
*----------------------------------------------------------------------------
* NOTE:
*   IRQ_T0 defined in extsnd1.h
*----------------------------------------------------------------------------
* REQUIREMENTS:
******************************************************************************/
Interrupt (sch_timer_int(void), IRQ_T0) 
{
//  T0_stop();                    /* stop timer */
  TL0 = TIM_LOW;                /* reload timer */ 
  TH0 = TIM_HIGH;
//  T0_start();                   /* restart timer */

#if (SCH_TYPE != SCH_FREE)
  sch_tick_flag = TRUE;
#endif
  /* increment task tick counters */
  gl_cpt_tick++;                /* general timer */
  gl_kbd_tick++;                /* keyboard timer */
  gl_mem_tick++;                /* memory timer */
  gl_led_tick++;                /* LED timer */
  gl_act_tick++;				/* Inactivity TIMER */


}


#elif (SCH_TIMER == SCH_TIMER1)
/*F**************************************************************************
* NAME:     sch_time_init
*----------------------------------------------------------------------------
* PARAMS:
*
* return:
*----------------------------------------------------------------------------
* PURPOSE:
*   Scheduler time base (timer 1) initialization
*----------------------------------------------------------------------------
* EXAMPLE:
*----------------------------------------------------------------------------
* NOTE:
*   mode 16-bit Timer, Time counter
*   T1_PRIO to be defined in config.h
*   TIM_LOW & TIM_HIGH defined in scheduler.h
*----------------------------------------------------------------------------
* REQUIREMENTS:
*****************************************************************************/
void sch_time_init (void)
{
  T1_init(T1_NOT_GATED, T1_TIMER, T1_MODE_1);
  TL1 = TIM_LOW;
  TH1 = TIM_HIGH;
  t1_set_prio(T1_PRIO);         /* set-up priority */
  T1_enable_int();              /* enable interrupt */
  T1_start();                   /* start time base */
}

/*F**************************************************************************
* NAME:     sch_timer_int
*----------------------------------------------------------------------------
* PARAMS:
*
* return:
*----------------------------------------------------------------------------
* PURPOSE:
*   Timer 1 interrupt function
*----------------------------------------------------------------------------
* EXAMPLE:
*----------------------------------------------------------------------------
* NOTE:
*   IRQ_T1 defined in extsnd1.h
*----------------------------------------------------------------------------
* REQUIREMENTS:
*****************************************************************************/
Interrupt (sch_timer_int(void), IRQ_T1) 
{
//  T1_stop();                    /* stop timer */
  TL1 = TIM_LOW;                /* reload timer */ 
  TH1 = TIM_HIGH;
//  T1_start();                   /* restart timer */

#if (SCH_TYPE != SCH_FREE)
  sch_tick_flag = TRUE;
#endif

  gl_cpt_tick++;
}


#elif (SCH_TIMER == SCH_TIMER2)
/*F**************************************************************************
* NAME:     sch_time_init
*----------------------------------------------------------------------------
* PARAMS:
*
* return:
*----------------------------------------------------------------------------
* PURPOSE:
*   Scheduler time base (timer 2) initialization
*----------------------------------------------------------------------------
* EXAMPLE:
*----------------------------------------------------------------------------
* NOTE:
*   mode 16-bit auto-reload
*   T2_PRIO to be defined in config.h
*   TIM_LOW & TIM_HIGH defined in scheduler.h
*----------------------------------------------------------------------------
* REQUIREMENTS:
*****************************************************************************/
void sch_time_init (void)
{
  T2_init(T2_AUTO_RELOAD, T2_TIMER, T2_NOT_GATED);
  RCAP2L = TIM_LOW;
  RCAP2H = TIM_HIGH;
  t2_set_prio(T2_PRIO);         /* set-up priority */
  T2_enable_int();              /* enable interrupt */
  T2_start();                   /* start time base */
}

/*F**************************************************************************
* NAME:     sch_timer_int
*----------------------------------------------------------------------------
* PARAMS:
*
* return:
*----------------------------------------------------------------------------
* PURPOSE:
*   Timer 2 interrupt function
*----------------------------------------------------------------------------
* EXAMPLE:
*----------------------------------------------------------------------------
* NOTE:
*   IRQ_T2 defined in extsnd1.h
*----------------------------------------------------------------------------
* REQUIREMENTS:
******************************************************************************/
Interrupt (sch_timer_int(void), IRQ_T2) 
{
  TF2 = 0;                      /* ack interrupt */

#if (SCH_TYPE != SCH_FREE)
  sch_tick_flag = TRUE;
#endif
  gl_cpt_tick++;
}
#endif


?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩欧美在线不卡| 麻豆精品一区二区| 在线播放中文一区| 91蜜桃在线免费视频| 国产在线精品免费av| 首页国产欧美久久| 亚洲高清不卡在线观看| 亚洲一区二区三区中文字幕在线| 成人免费在线视频观看| 国产精品美女久久久久久久久| 久久久久久免费毛片精品| 日韩一级片网站| 亚洲精品国产成人久久av盗摄| 欧美国产日韩一二三区| 亚洲国产激情av| 老司机精品视频在线| 国产成人夜色高潮福利影视| 国产不卡免费视频| 91麻豆高清视频| 国产日产欧美精品一区二区三区| 国产目拍亚洲精品99久久精品| 日欧美一区二区| 在线观看国产91| 欧美专区亚洲专区| 国产精品另类一区| 日韩毛片视频在线看| 亚洲自拍偷拍麻豆| 91在线观看视频| 欧美极品aⅴ影院| 国产精品69毛片高清亚洲| 不卡的av电影在线观看| 欧美亚洲自拍偷拍| 久久综合五月天婷婷伊人| 国产精品国产三级国产普通话99 | 香蕉乱码成人久久天堂爱免费| 免费观看在线色综合| 成人av资源网站| 国产精品美女视频| 99综合影院在线| 欧美大白屁股肥臀xxxxxx| 欧美精品日韩一区| 水野朝阳av一区二区三区| 7777女厕盗摄久久久| 国产午夜三级一区二区三| 亚洲va国产va欧美va观看| 欧美日韩精品欧美日韩精品一 | 国产成人免费在线视频| 久久久国际精品| 欧美午夜精品一区二区三区 | 91亚洲精品一区二区乱码| **网站欧美大片在线观看| 一本色道亚洲精品aⅴ| 日韩欧美精品在线| 国产精品性做久久久久久| 国产精品人成在线观看免费| 91婷婷韩国欧美一区二区| 亚洲高清中文字幕| 精品久久久久香蕉网| 成人av在线播放网址| 一个色妞综合视频在线观看| 国产裸体歌舞团一区二区| 中文字幕色av一区二区三区| 在线一区二区三区四区五区| 国产精品国产三级国产普通话三级| 91视频在线观看| 男人的j进女人的j一区| 亚洲国产精品高清| 欧美久久久久久久久中文字幕| 精品一区二区免费视频| 91精品国产综合久久香蕉的特点| 国产在线一区二区综合免费视频| 在线电影欧美成精品| 黑人巨大精品欧美黑白配亚洲| 亚洲欧美在线高清| 91精品国产综合久久精品| 亚洲欧美日韩久久精品| www.日韩在线| 日韩高清中文字幕一区| 91视频在线观看免费| 久久国内精品视频| 亚洲精品第一国产综合野| 精品成人在线观看| 欧美96一区二区免费视频| 国产精品国产三级国产| 日韩一区二区免费视频| 一本到一区二区三区| 紧缚捆绑精品一区二区| 亚洲小说春色综合另类电影| 日本一区二区三区dvd视频在线| 欧美日本一道本在线视频| 波多野结衣中文一区| 欧美亚洲动漫精品| 国产精品一线二线三线精华| 图片区小说区国产精品视频| 在线观看欧美黄色| 成人免费高清在线观看| 亚洲欧美另类综合偷拍| 欧美精品一区二区三区久久久| 在线中文字幕一区| 99视频一区二区| 高清beeg欧美| 国产精品一区一区| 精品系列免费在线观看| 日日夜夜精品视频免费| 亚洲成人福利片| 有码一区二区三区| 亚洲欧美一区二区三区国产精品 | 亚洲精选视频免费看| 国产日韩欧美激情| 精品久久久久香蕉网| 日韩一级完整毛片| 日韩一区二区精品葵司在线| 欧美乱妇20p| 67194成人在线观看| 欧美日韩成人高清| 91麻豆精品久久久久蜜臀| 欧美曰成人黄网| 欧美日韩专区在线| 国产精品 欧美精品| 精彩视频一区二区三区| 精品写真视频在线观看| 韩国一区二区在线观看| 精品一区二区三区免费毛片爱 | 国产精品一区二区男女羞羞无遮挡 | 亚洲免费av高清| 亚洲一区二区三区中文字幕| 一级女性全黄久久生活片免费| 一区二区三区在线观看动漫| 亚洲精品第1页| 亚洲第一主播视频| 三级亚洲高清视频| 精品制服美女久久| 国产成人免费视频网站高清观看视频| 国产精品一区二区无线| av电影天堂一区二区在线观看| 91色视频在线| 正在播放亚洲一区| 欧美zozozo| 国产精品萝li| 亚洲国产中文字幕在线视频综合| 亚洲成av人片| 韩国中文字幕2020精品| 99久久99精品久久久久久| 精品中文字幕一区二区| 国产高清成人在线| 色婷婷久久久亚洲一区二区三区| 欧美精品日韩一区| 久久精品无码一区二区三区| 最近日韩中文字幕| 日本欧美韩国一区三区| 国产黑丝在线一区二区三区| 91亚洲国产成人精品一区二三| 欧美日韩久久不卡| 亚洲国产精品99久久久久久久久| 亚洲一区二区三区不卡国产欧美| 久久精品国产在热久久| 高清日韩电视剧大全免费| 欧美吻胸吃奶大尺度电影 | 欧美美女一区二区在线观看| 精品国产乱码久久久久久图片 | 成人国产视频在线观看| 在线看国产一区| www亚洲一区| 亚洲伊人色欲综合网| 久久99热99| 欧美午夜精品久久久久久超碰 | 欧美日韩三级一区| 国产视频911| 日日噜噜夜夜狠狠视频欧美人 | 看片网站欧美日韩| 色久优优欧美色久优优| 午夜视频在线观看一区二区三区| 国产综合色在线| 欧美午夜电影在线播放| 国产精品伦一区二区三级视频| 日本亚洲视频在线| 在线中文字幕不卡| 中文字幕亚洲精品在线观看| 蜜桃av一区二区在线观看| 欧美午夜理伦三级在线观看| 国产精品欧美久久久久一区二区| 美国精品在线观看| 欧美日韩国产色站一区二区三区| 国产精品卡一卡二| 国产一区二区在线影院| 日韩欧美123| 日韩精品一级二级| 欧美视频一区二区| 伊人一区二区三区| 99r国产精品| 中文字幕一区二区三区av| 国产一二三精品| 久久免费国产精品| 激情欧美日韩一区二区| 日韩欧美电影一二三| 亚洲一二三级电影| 欧美日韩一区二区三区高清| 亚洲自拍另类综合| 欧美日韩精品福利| 日韩国产一二三区|