|
void time2_init(void)
{
TIM2_IER = 0x00; // 禁止中斷
TIM2_CNTRH = 0; //計(jì)數(shù)器初值設(shè)置
TIM2_CNTRL = 0;
#if(MAIN_CLOCK_SEL == MCU_CLOCK_8M)
TIM2_PSCR = 0x03; //計(jì)數(shù)器時(shí)鐘= 主時(shí)鐘/ 8 = 8M / 8 = 1M(1us每周期)
#else
TIM2_PSCR = 0x02; //計(jì)數(shù)器時(shí)鐘= 主時(shí)鐘/ 4 = 4M / 4 = 1M(1us每周期)
#endif
#if (ENABLE_IR_SEND)
TIM2_ARRH = 0xFF;// 65535us
TIM2_ARRL = 0xFF;
#else
TIM2_ARRH = 0x03;//0xFF; // 65535us
TIM2_ARRL = 0xE8;//0xFF;
#endif
TIM2_EGR = 0x01;
#if (!ENABLE_IR_SEND)
TIM2_IER = 0x01;
#endif
TIM2_CR1 = 0x01;
}
@far @interrupt void time2_irq_handler(void)
{
TIM2_SR1 &= 0xFE;
}
|
|