📄 timer.c
字号:
#include "Timer.h"
#include "44b.h"
#include "def.h"
#include "ZLG7289.h"
int Timer3INTCount=0;
void Init_Timer3(U8 prescaler1,U8 divider3,U16 countb3,U16 compb3)
{ U8 div;
switch(divider3)
{case 2: div=0x00;break;
case 4: div=0x01;break;
case 8: div=0x02;break;
case 16: div=0x03;break;
default: div=0x00;
}
//prescaler1 is for timer2&3
//Fre(Timer)=MCLK/(prescaler+1)/divider
rTCFG0&=~(0xff<<8);
rTCFG0|=(prescaler1<<8);
//All interrupt,select MUX input for TimerN
rTCFG1&=~(0x0f<<24|0x0f<<12);
rTCFG1|=(div<<12);
rTCMPB3=compb3;
rTCNTB3=countb3;
rTCON|=(0x01<<19);//Auto reload
}
void Start_Timer3(void)
{ rTCON|=(0x01<<17);//Manual Update
rTCON&=~(0x01<<18);//Inverter off
rTCON|=(0x01<<16);//Start Timer3
rTCON&=~(0x01<<17);//Must clear Manual update bit
}
void Stop_Timer3(void)
{rTCON&=~(0x01<<16);//Stop Timer3
}
void Timer3_ISR(void)
{Timer3INTCount++;
if(Timer3INTCount>9999)
Timer3INTCount=0;
LED_Display(Timer3INTCount);
Uart_Printf("\n\rTimer3INTCount is %d ",Timer3INTCount);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -