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.

17 lines
1.1 KiB

This file contains ambiguous Unicode characters!

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频率
DutyRatiopwm占空比(范围0-1000)
注意事项: 1.在使用pwm功能时请确保gpio管脚的方向为输出.
2.设置频率和占空比可能存在参数传入的值和通过接口获取出来的值不完全相同的情况;
原因设置频率的方法为在54M的基础时钟上使用分频系数进行分频分频系数为频率控制寄存器中的值。
当设置频率时需要向频率控制寄存器中写入设置的频率值除以54M然后的值需要设置10M的时钟频率控制寄存器中的系数值为54M / 10M = 5.4四舍五入后为5
然后通过读取频率的接口去读读得的频率控制寄存器中的系数值为554M / 5 = 10.8M,四舍五入后为11M。
设置占空比的方法为在255的周期中将其分为1000等分参数DutyRatio为高电平的时间。占空比控制寄存器中写入的值为 DutyRatio / 1000 * 255;
需要设置的占空值为700 700 / 1000 * 255 = 178.5 写入寄存器的值为178
然后通过读取占空比的接口去读读得的占空比控制寄存器中的系数值为178178 / 255 * 1000 = 698.03。取值为698.