本帖最后由 starowen 于 2009-10-24 11:04 编辑
在TIM1 16位向上/向下计数器模式中 进入更新中断后 SR1的值为 0x1f 却不是 0x01
也就是只开计数器模式 在中断中却同时产生了 捕捉/比较中断标志
初始化程序如下:
void INIT_Tim1(void)
{
TIM1->PSCRH = (u8)(TIM1_PSC_SET >> 8);
TIM1->PSCRL = (u8) TIM1_PSC_SET;
TIM1->ARRH = (u8)(TIM1_ARR_SET >> 8);
TIM1->ARRL = (u8) TIM1_ARR_SET;
TIM1->IER |= 0x01;
TIM1->CR1 |= 1 << 0 | 1 << 2; //只有计数器溢出才产生更新中断
TIM1->EGR |= 1 << 0;
} |