欢迎光临散文网 会员登陆 & 注册

GD32F303固件库开发(13)----定时器TIM捕获PWM测量频率与占空比

2023-07-26 16:06 作者:记帖  | 我要投稿

概述

本章配置GD32F303输出PWM,同时使用TIM测量PWM频率和正占空比。 查阅手册可以得知,PB11为定时器1的通道3,让其输出PWM,PA6为定时器2的通道0,让作为TIM定时器输入。 需要GD样片的可以加群申请:615061293 。 


 



视频教学

https://www.bilibili.com/video/BV1tg411m7pb/


csdn课程

课程更加详细。 https://download.csdn.net/course/detail/37144

样品申请

https://www.wjx.top/vm/wFGhGPF.aspx#

生成例程

这里准备了自己绘制的开发板进行验证。 

 管脚图如下所示。

 

keil配置

microlib 进行了高度优化以使代码变得很小。 它的功能比缺省 C 库少,并且根本不具备某些 ISO C 特性。 某些库函数的运行速度也比较慢,如果要使用printf(),必须开启。

使能串口


串口重定向


串口重定向后就可以使用printf进行打印。

占空比与频率计算

占空比=(t1-t0)/(t2-t0) 频率=(t2-t0)/时钟频率= =(t2-t0)/(120M/(psc+1)) 

周期需要2个上升沿去判断,设定第一个上升沿time_flag由0->1,下降沿time_dowm_flag由0->1,此时就知道正占空比时间,当在产生上升沿时候,就可以计算出周期使用的时间。 

GPIO初始化



开启中断



TIM1输出PWM初始化

PWM频率计算如下所示。 


TIM2输入捕获设置



中断


初始化


主程序


测试结果

当输出1k频率,50%正占空比。 


GD32F303固件库开发(13)----定时器TIM捕获PWM测量频率与占空比的评论 (共 条)

分享到微博请遵守国家法律