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 + -
显示快捷键?