1.关于定时器TIMX->CR1寄存器的位7 APRE
- 当APRE=1时,此时使能预装载寄存器。此时在对ARR寄存器写入新的值得时候,预装入了TIMx_ARR,先到值先到自动加载寄存器,然后当产生更新事件时,进入影子寄存器。
- 当APRE=0时,此时没有缓冲。此时在对ARR寄存器写入新的值的时候,值直接在自动加载寄存器就可以更新。
2.定时器的分频
- 更改定时器的分频是更改预分频计数器中的数,进而改变定时器时钟CK_CNT。
3.关于预装载寄存器的使能
- TIMx-CCMR1寄存器中OC1PE=0,禁止TIMx_CCR1寄存器的预装载功能,不用进入预装载寄存器,可随时写入TIMx_CCR1寄存器,并且新写入的数值立即起作用。
- TIMx-CCMR1寄存器中OC1PE=1,开启TIMx_CCR1寄存器的预装载功能,读写操作仅对预装载寄存器操作,TIMx_CCR1的预装载值在更新事件到来时被传送至当前寄存器中。
4.输出比较通道
- 关于TIM_OCMode_Toggle,也就是定时器的翻转模式,当TIMx_CCR1=TIMx_CNT时,翻转OC1REF的电平。 capture1 =TIM_GetCapture1(TIM4); TIM_SetCompare1(TIM4, capture1+1000),此时一般TIM_Period = 65535,不用考虑周期,计数器TIM4_CNT一直在增加,让CCR1每经过一个中断+1000,这样就可以利用CCR1寄存器自动溢出产生pwm波。所以改变其翻转时间,可以使一个定时器产生不同频率的波形(用于控制步进电机)。
5.关于APB1和APB2的时钟
- F1中,APB1的最大频率是36M,APB2的最大频率是72M
- F427中,APB1的最大频率是180M/4=45M,APB2是180M/2=90M。
6.定时器的编码器模式
- 使用定时器的TI1和TI2,有三种编码器模式,TI1计数,TI2计数,TI1和TI2都计数。
有什么不对的,可以一起探讨。