STM8AF6269学习-定时器(1)

看了半天的DATAsheet,发现STM8的定时器太复杂了。但越是复杂的东西功能也就越多。学会了就使用起来方便多。

先从简单的TM4定时器搞起耍。

TM4的原理图如下STM8AF6269学习-定时器(1)_第1张图片

内部时钟源fMASTER通过预分频器Prescaler分频后输入到一个向上计数的计数器内计数。计数的值由Auto-reload registe装填。计数完毕后会产生一个事件或一个中断。

预分频器CK_CNT的频率为CK_PSC除以1、2、4....128.具体数值由TIM4_PSCR 寄存器的低三位决定。

计数器为一个8位向上计数的计数器。最多能计数到255.

其中自动重载寄存器由预装载寄存器和影子寄存器组成。

可在在两种模式下写自动重载寄存器: 
● 自动预装载已使能(TIM4_CR1寄存器的ARPE 位置位)。在此模式下,写入自动重载寄存器
的数据将被保存在预装载寄存器中,并在下一个更新事件(UEV) 时传送到影子寄存器。 
● 自动预装载已禁止(TIM4_CR1寄存器的ARPE 位清除)。在此模式下,写入自动重载寄存器
的数据将立即写入影子寄存器。

而产生更新事件的条件有:

● 计数器向上或向下溢出。 
● 软件置位了TIM1_EGR寄存器的UG位。 
● 时钟/ 触发控制器产生了触发事件。

中断和事件的产生源都可以是一样的! 
之所以分成2个部分,由于中断是需要CPU参与的,需要软件的中断服务函数才能完成中断后产生的结果; 
但是事件,是靠脉冲发生器产生一个脉冲,进而由硬件自动完成这个事件产生的结果,当然相应的联动部件需要先设置好,比如引起DMA操作,AD转换等;


你可能感兴趣的:(car)