加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
README 2.17 KB
一键复制 编辑 原始数据 按行查看 历史
黎仕杰 提交于 2024-12-07 14:04 . 重新提交
### PWM的配置方法
### 预分频器的作用
预分频器(Prescaler)在配置PWM时的作用是减少进入定时器计数器的时钟频率。由于微控制器的系统时钟通常很高(例如72MHz),直接用这么高的频率作为定时器的时钟可能不适合所有应用,因为这会限制定时器的最大计数范围,从而限制了PWM信号的频率。通过设置预分频器的值,可以将系统时钟分频,得到一个较低但稳定的时钟频率,这样就可以生成更长周期的PWM信号,适用于需要低速PWM的场合。
### 自动重装载寄存器的作用
自动重装载寄存器(Automatic Reload Register, ARR)在配置PWM时决定了定时器计数器的最大计数值。当计数器从0计数到ARR的值时,它会自动重新加载ARR的值,继续计数。这个过程形成了PWM信号的周期。通过调整ARR的值,可以改变PWM信号的周期,即信号高低电平交替出现的时间间隔。
### 预分频器和自动重装载寄存器的组合效果
预分频器和自动重装载寄存器共同工作,决定了PWM信号的频率和周期。具体来说,系统时钟经过预分频器分频后,到达定时器计数器的频率会降低,计数器从0计数到ARR设定的值所需的时间就是PWM信号的一个周期。在这个周期内,通过设置捕获/比较寄存器(CCR)的值,可以进一步决定PWM信号的高电平持续时间,从而改变占空比。
### 简单比喻
想象一下,预分频器像是一个减速带,它减慢了进入定时器的时钟速度。自动重装载寄存器则像是一个设定好的终点线,定时器计数器每次跑到这个终点都会被重置,开始新的一轮计数。PWM信号的高低电平就像是赛车在赛道上的位置,通过调整终点线的位置(ARR值)和减速带的大小(Prescaler值),可以控制赛车在赛道上的停留时间,从而改变赛车的平均速度,这就好比是调整PWM信号的占空比和频率。
裸机版本很多功能没能实现,操作系统版本的功能基本都能实现,这两个项目以学习为主,后续实际的项目我会放在其他仓库
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化