我的目标是在Java中编写GUI,用户可以通过Raspberry 3的硬件-PWP引脚之一输出PWM信号。这样,用户应该能够选择整体的长度脉冲(以ms为单位),占空比的长度(以ms为单位)以及脉冲重复的频率。
为了编码,我使用了基于WiringPi的Pi4J库(http://pi4j.com)。在尝试实际创建PWM信号时,我注意到有三个主要功能:
pwmSetRange(int x) pwmSetClock(int x) Setpwm(int x)
据我理解这些功能,setRange基本上设置占空比的可能单步,而setclock设置频率的除数,setpwm设置占空比。
但是,如何根据用户输入正确配置这些方法?
还有我注意到的内容:参考我读过的文章,使用以下公式计算PWM频率:频率= 19.2e6 Hz / pwmClock / pwmRange,而时钟值最高可达4095,范围最高可达4096。 我是否正确理解,使用Pi的硬件PWM,只能从1.2Hz到1920Hz的频率进行?