概述
首先,目前在网上没有找到很多资料,所以在此做一个总结
定时器从模式这里只做三种内部分析
- 复位模式
- 门控模式
- 触发模式
当主定时器的信号出现上升沿或者下降沿时,会触发从定时器的相应动作
复位模式
主定时器出现信号后:从定时器计数器复位并产生一个中断
门控模式
主定时器出现信号后:从定时器计数器开始工作
主定时器信号结束后:从定时器计数器停止工作并产生中断
触发模式
主定时器出现信号后:从定时器计数器开始工作,并且不会停止
触发模式主定时器只是提供了一个启动从定时器开始时间的控制,并不会有其他效果
定时器框图
当使用从定时器触发模式时
下面引用一个示例演示
基本思路
开启两个定时器,定时器2与定时器3
定时器2做pwm输出,定时器3也做pwm输出(我家有两颗树,一颗是枣树,另一颗也是枣树)
定时器3的pwm输出跟随定时器2的pwm输出。
如何做? 才能又准又稳定还不占用cpu资源
大致思路,定时器2的ch2输出,并将ch2的OC2REF作为从定时器3的TRGO,并通过主从对应表,找到相应的ITRx,当出现上升沿或下降沿时,会触发从定时器的开启。
具体配置
定时器2
定时器3配置
从定时器3只是由主定时器2提供一个计时器使能信号,所以这里的内部时钟要打开,提供给定时器3时钟,不过不勾选内部时钟也是可以正常工作的。
从定时器3与普通定时无区别,功能相同,不需要理解它有多特殊
在生成的代码中开启,pwm
if(HAL_TIM_PWM_Start(&htim2, TIM_CHANNEL_2) != HAL_OK)
{
Error_Handler();
}
if(HAL_TIM_PWM_Start(&htim2, TIM_CHANNEL_3) != HAL_OK)
{
Error_Handler();
}
if(HAL_TIM_PWM_Start(&htim3, TIM_CHANNEL_4) != HAL_OK)
{
Error_Handler();
}
最后贴出主从对应表
最后
以上就是耍酷导师为你收集整理的stm32定时器从模式解析的全部内容,希望文章能够帮你解决stm32定时器从模式解析所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复