[PIC®/AVR®/dsPIC®产品]

PWM学习笔记

[复制链接]
10421|9
手机看帖
扫描二维码
随时随地手机跟帖
dongnanxibei|  楼主 | 2024-12-9 20:21 | 显示全部楼层 |阅读模式
123576756df3dec0d9.png
在MCC里配置PWM的引脚,生成库函数
解下密分析
方便计算,设置系统时钟源为内置8MHz时钟源,不分频,就是1
960806756df89f22e4.png
这样一个时钟周期就是1/8M
先简单配置一下PWM初始化设置,选择系统时钟,也就是刚才那个没分频的值8MHz
400706756dfad3687c.png
接下来使用生成的库函数随便配置一下
PWM1_16BIT_WritePeriodRegister(10000);
    PWM1_16BIT_SetSlice1Output1DutyCycleRegister(5000);
    PWM1_16BIT_SetSlice1Output2DutyCycleRegister(5000);
    PWM1_16BIT_LoadBufferRegisters();
为了方便计算,周期设置为10K,输出1设置为5K,输出2也设置为5K,方便计算。
编译,通过示波器观测波形,并测量周期,
得到周期为800Hz方波
那么刚才设置的周期值10K就对应实际上的800Hz,看看是如何得到的。
首先刚才的时钟品啦8MHz,那么计数10K次就是PWM波形的周期T=((1/8M)*10K)
而PWM波形的F=1÷T
带入上述T
得到F=8M/10K =800Hz
对上了
就是这么算。

使用特权

评论回复
评论
小灵通2018 2025-1-20 10:24 回复TA
时钟的选择至关重要,所有的外设都是在时钟下运行。 
dongnanxibei|  楼主 | 2024-12-9 20:28 | 显示全部楼层
大家说说如何让PWM输出受到控制呢?就是给个开关,让它波形可以按照一定的频率调制输出

使用特权

评论回复
小灵通2018| | 2024-12-15 20:43 | 显示全部楼层
有了这个工具,配置太容易了

使用特权

评论回复
xinpian101| | 2024-12-15 20:49 | 显示全部楼层
总结的不错,从时钟配置计算到pWM的周期,以及占空比

使用特权

评论回复
jiekou001| | 2024-12-16 08:38 | 显示全部楼层
如果把那些选项介绍一下会更好

使用特权

评论回复
598330983| | 2025-1-12 18:16 | 显示全部楼层
真是用起来简单好看啊。

使用特权

评论回复
天灵灵地灵灵| | 2025-1-14 16:57 | 显示全部楼层
百分比的这种会影响PWM的分辨率,使用寄存器配置比较好,不过可以利用MCC先生成后,修改函数参数

使用特权

评论回复
dongnanxibei|  楼主 | 2025-1-18 20:12 | 显示全部楼层
真不错,又有被推荐的了。

使用特权

评论回复
稳稳の幸福| | 2025-1-19 20:21 | 显示全部楼层
dongnanxibei 发表于 2024-12-9 20:28
大家说说如何让PWM输出受到控制呢?就是给个开关,让它波形可以按照一定的频率调制输出 ...

修改占空比也是可以的啊。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

210

主题

3661

帖子

16

粉丝