stm8的 TIM4_CNTR问题

2019-07-19 21:16发布

void TIM4_Init(void)//256us中断一次
{
 TIM4_IER = 0x00;// 禁止中断
 TIM4_EGR = 0x01; // 允许产生更新事件
 TIM4_PSCR = 0x07;//计数器时钟=主时钟/128=16MHZ/128 //相当64us
 TIM4_ARR = 31;// 设定重装载时的寄存器值,255是最大值
 TIM4_CNTR = 31; // 设定计数器的初值 // 定时周期=(ARR+1)*64=16.320mS,本次为2ms
 TIM4_CR1 = 0x01; // b0 = 1,允许计数器工作// b1 = 0,允许更新// 设置控制器,启动定时器
 TIM4_IER = 0x01;// 允许更新中断
 _asm("rim"); // 允许CPU全局中断
}

求教原子哥
TIM4_ARR = 31;
TIM4_CNTR = 31;
stm8的定时器初始化时这两个为什么要设置成一样?TIM4_CNTR 不是从0开始吗 ,如何按照上面的设置是不是意味着初始化完成后就会马上产生一次更新中断
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。