You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.
功能描述: 演示如何调用pwm函数实现独立的脉宽调制信号输出
命令格式:
Usage: usage: ./sample_pwm PwmNum Freq DutyRatio
参数说明:
PwmNum: pwm number;
Freq: pwm频率
DutyRatio: pwm占空比(范围: 0-1000)
注意事项: 1.在使用pwm功能时请确保gpio管脚的方向为输出.
2.设置频率和占空比可能存在参数传入的值和通过接口获取出来的值不完全相同的情况;
原因: 设置频率的方法为在54M的基础时钟上使用分频系数进行分频, 分频系数为频率控制寄存器中的值。
当设置频率时需要向频率控制寄存器中写入设置的频率值除以54M然后的值; 例: 需要设置10M的时钟, 频率控制寄存器中的系数值为: 54M / 10M = 5.4四舍五入后为5;
然后通过读取频率的接口去读, 读得的频率控制寄存器中的系数值为5; 54M / 5 = 10.8M,四舍五入后为11M。
设置占空比的方法为在255的周期中, 将其分为1000等分, 参数DutyRatio为高电平的时间。占空比控制寄存器中写入的值为 DutyRatio / 1000 * 255;
例: 需要设置的占空值为700, 700 / 1000 * 255 = 178.5 写入寄存器的值为178;
然后通过读取占空比的接口去读, 读得的占空比控制寄存器中的系数值为178; 178 / 255 * 1000 = 698.03。取值为698.