timer1.c
来自「cs5460a做功率表用 cs5460a做功率表用 cs5460a做功率表」· C语言 代码 · 共 53 行
C
53 行
/********************************************
公司名称:
文 件 名:
版 本 号:
程序设计:
说 明:
完成日期:
修改日期:
功能摘要:
**********************************************/
#define _Timer0
#include "includes.h"
const WAIT_TIME_STRUCT *WaitTimeTab[] PROGMEM = {
&Refresh_AD,
&KeyScan,
&ReadAD,
&UartOverTime,
&WatchKeyTime,
&WatchAd,
&SwitchOutDelay,
};
#define WAIT_EVENT_CNT sizeof(WaitTimeTab)/2
//---------------------------------------------------
void Timer1_MainLoop(void)
{
uint8 i;
WAIT_TIME_STRUCT *pWaitTime;
if (fTimer1_500ms)
{
fTimer1_500ms = 0;
for (i=0; i<WAIT_EVENT_CNT; i++)
{
OS_CLOSE_INT();
pWaitTime = (WAIT_TIME_STRUCT *)pgm_read_word(&WaitTimeTab[i]);
if ((pWaitTime->WaitTime > 0) && (--pWaitTime->WaitTime == 0))
{
pWaitTime->fGetTime = 1;
}
OS_OPEN_INT();
}
}
}
//------------------------------------------
SIGNAL(SIG_OVERFLOW1)
{
TCNT1 = 0x10000 - (uint32)((float)F_CPU * CLOCK_TIME1 / F_N_TIME1 / 1000); //500MS
fTimer1_500ms = 1;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?