文使用Cubemx+MDK5开发方式(纯新手向 记录一下)
定时器时间计算 两步 (特别特别特别注意单位换算 简单无脑)
1MHZ = 1000KHZ
1KHZ = 1000HZ
1HZ 的周期是1秒
1s = 1000毫秒(ms)
1ms = 1000 微秒(μs)
1μs = 1000纳秒(ns)
第一步:定时器所在时钟总线频率 / 预分频 / 定时器计数值 = 频率
//频率与时间是成反比的 频率越高时间越短
第二步:1 / 频率 = 产生中断的时间(秒)
就拿上图做例子 我们算一下这个定时器三的中断多长时间产生一次
第一步: 72000000/36/1000 = 2000(HZ)
72000000是因为该定时器挂载在APB2下 APB2的时钟频率可以通过cubemx的时钟树很直观的看到是72MHZ 36是怎么来的 是我们上图中预分频系数 我们设置了35 cubemx会自动加一变成36单位是 HZ ,1000 是计数值+1得来的
第二步: 1 / 2000 = 0.0005 (秒)
PWM相关计算
1.占空比
计数值/对比值 = 占空比
还是用上图举例子 500/1000 = 二分之一 = 50%
所以你在示波器上查看电平信号应该是一半高一半低的就像这样子 _--_--_--_--_--_
2.周期计算
额突然发现这个就是定时器的频率 0.0 就是上面说的两步 走一遍就是一个电平周期的时间文章来源:https://www.toymoban.com/news/detail-629538.html
哈哈我这几天都是分开算的 原来是一样的吗文章来源地址https://www.toymoban.com/news/detail-629538.html
到了这里,关于STM32 定时器及PWM计算占空比计算周期的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!