Raspberry pi B +具有四个硬件PWM。如何在C / C ++中使用它们。解决方案越简单-越好。

我找到了WiringPi的一个可行的解决方案

gpio mode 1 pwm
gpio pwm-bal
gpio pwmr 1024
gpio pwm 1 500


该解决方案仅适用于一个PWM输出(GPIO18)。
我认为这是因为WiringPi是为树莓派的先前版本设计的(模型B +在GPIO12,GPIO13和GPIO19上具有新的PWM)。

为了控制常规GPIO,我找到了解决方案:

pi@auto:~$ sudo -i
root@auto:~# echo "16" > /sys/class/gpio/export
root@auto:~# echo "out" > /sys/class/gpio/gpio16/direction
root@auto:~# echo "1" > /sys/class/gpio/gpio16/value
root@auto:~# echo "0" > /sys/class/gpio/gpio16/value


但是没有办法控制硬件PWM。

产品https://www.pololu.com/product/2753引用了python库-正是我想要的。

请没有软件PWM建议。

谢谢

弗拉多

最佳答案

Here是可以满足您需求的发行版。
它提供PWM和伺服内核模块。您只需修改/ sys / class / rpi-pwm /下的内核文件即可创建自定义PWM输出。
Here是下载链接。

10-08 13:42