stm32 timer 的三个函数
来源:互联网 发布:mac下好用的命令行终端 编辑:程序博客网 时间:2024/06/05 10:37
先说TIM_ARRPreloadConfig设置为DISABLE 和ENABLE的问题,他的作用只是允许或禁止在定时器工作时向ARR的缓冲器中写入新值,以便在更新事件发生时载入覆盖以前的值。在开始初始化的时候你已经把" TIM_TimeBaseStructure.TIM_Period=2000; //ARR的值 ",后来也一直是这个值,原因是你没有编写中断服务函数或者你在中断服务函数中根本就没有给ARR缓冲器重新写入新值,所以设置为DISABLE 和ENABLE都没有影响,那么如果后来也一直是这个值,不写入新值的话,这句话是不是就可以不用写了,我觉得可以不用写。
再说一下TIM_TimeBaseStructure.TIM_Prescaler=0的问题,这个很简单,程序后面如果调用了函数TIM_PrescalerConfig(TIM2,35999,TIM_PSCReloadMode_Immediate);这个函数可以把之前的值给修改了,TIM_PrescalerConfig函数的作用就是在定时器工作时改变预分频器的值,那么如果后来一直是初始化的值,不写入新值的话,这个函数也可以不用写了。
TIM_OC2PreloadConfig(TIM3, TIM_OCPreload_Enable); //使能TIM3在CCR2上的预装载寄存器,即TIM3_CCR2的预装载值在更新事件到来时才能被传送至当前寄存器中。
这句话是说,CCR2中的预装载值何时被传送到当前的CNT寄存器中,这里我们选择的是当更新事件到来的时候才装载,追踪寄存器的设置可知,原来设置的是CCMR1的OC2PE,其实还有一种方式是立即装载看手册:P248-249
OC1PE:输出比较1预装载使能(Output compare 1 preload enable) 位3
0:禁止TIMx_CCR1寄存器的预装载功能,可随时写入TIMx_CCR1寄存器,并且新写入的数值立即起作用。
1:开启TIMx_CCR1寄存器的预装载功能,读写操作仅对预装载寄存器操作,TIMx_CCR1的预装载值在更新事件到来时被传送至当前寄存器中。
Timer4 时钟72M APB1时钟36M
阅读全文
0 0
- stm32 timer 的三个函数
- STM32的Timer简介
- 比较实用的三个字符串处理函数(STM32串口)
- 三个timer相关的类
- 三个timer相关的类之一 - CTimer
- 三个timer相关的类之一 - CPeriodic
- 三个timer相关的类之一 - CIdle
- 三个timer相关的类之一
- C#中三个timer的区别
- stm32 timer 测程序的时间
- timer的schedule函数
- 三个函数的区别
- 函数的三个角色
- STM32 TIMER初始化步骤
- STM32 timer PWM
- timer的重要函数详解
- show ip ospf里面的三个throtte timer
- stm32初始化三个串口
- React ---- 状态管理之React-Redux
- 联发科(9月21)
- eclipse的git插件Egit的使用
- ORA-12170:TNS:连接超时
- 只需要使用css完成Tab切换功能
- stm32 timer 的三个函数
- 微信支付
- PHP魔术常量
- Cookie/Session机制详解
- [绍棠] kxmovie 源码的详解
- 设置session有效期的方法及优先级
- 图形学三大坐标系图解
- 鸡蛋究竟宜不宜生吃?这个问题居然需要超级计算机来算?
- 机器学习-组合算法总结