您好、欢迎来到现金彩票网!
当前位置:大赢家 > 服务程序 >

STM32单片机输出比较模式解析

发布时间:2019-05-10 21:46 来源:未知 编辑:admin

  ● 将输出比较模式(TIMx_CCMRx寄存器中的OCxM位)和输出极性(TIMx_CCER寄存器中的CCxP位)定义的值输出到对应的引脚上。在比较匹配时,输出引脚可以保持它的电平

  ● 设置中断状态寄存器中的标志位(TIMx_SR寄存器中的CCxIF位)。

  ● 若设置了相应的中断屏蔽(TIMx_DIER寄存器中的CCxIE位),则产生一个中断。

  ● 若设置了相应的使能位(TIMx_DIER寄存器中的CCxDE位,TIMx_CR2寄存器中的CCDS位选择DMA请求功能),则产生一个DMA请求。

  ● 设置中断状态寄存器中的标志位(TIMx_SR寄存器中的CCxIF位)。

  ● 若设置了相应的中断屏蔽(TIMx_DIER寄存器中的CCXIE位),则产生一个中断。

  ● 若设置了相应的使能位(TIMx_DIER寄存器中的CCxDE位,TIMx_CR2寄存器中的CCDS位选择DMA请求功能),则产生一个DMA请求。

  同步的精度可以达到计数器的一个计数周期。输出比较模式(在单脉冲模式下)也能用来输出一个单脉冲。

  3.如果要产生一个中断请求和/或一个DMA请求,设置CCxIE位和/或CCxDE位。

  TIMx_CCRx寄存器能够在任何时候通过软件进行更新以控制输出波形,条件是未使用预装载寄存器OCxPE=0,否则TIMx_CCRx影子寄存器只能在发生下一次更新事件时被更新)

  但是由于比较模式无论选哪个对于产生中断的作用是一样的,所以选TIMING都可以

  TIMx_CCRx寄存器能够在任何时候通过软件进行更新以控制输出波形,条件是未使用预装载寄存器OCxPE=0,否则TIMx_CCRx影子寄存器只能在发生下一次更新事件时被更新)。这里设置为Disable就是为了后面在中断服务子程序可以修改TIMx_CCR实时起作用~

  ////设置TIMx捕获比较1寄存器值然后动态修改其CCR的值使整个程序一直进行下去

  在STM32的某些应用中,用户有周期性执行某些程序的要求,使用定时器可以产生固定的时间周期,满足这样的需求。

  STM32高级定时器TIM1、TIM8,通用定时器TIM2、TIM3、TIM4、TIM5;定时器最大时钟72MHz,配合预分频,提供灵活的时钟周期;每个TIM有4个独立捕获/比较通道,DMA/中断功能;通道工作在输出比较定时模式,一个TIM至多可以提供4个不同的定时周期。

  原理:TIM某输出/捕获通道工作在输出比较定时模式,计数器计数至比较值时产生中断,在中断中刷新捕获比较寄存器,这样在相同时间间隔后可产生下一次中断

  设置TIM2_CCR1寄存器值为32768,则CC1更新频率为TIM2计数器时钟频率除以CCR1寄存器值,为366.2 Hz。因此,TIM2通道1可产生一个频率为183.1 Hz的周期信号。

http://ccsagresso.com/fuwuchengxu/213.html
锟斤拷锟斤拷锟斤拷QQ微锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷微锟斤拷
关于我们|联系我们|版权声明|网站地图|
Copyright © 2002-2019 现金彩票 版权所有