3

树莓派 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 建议。

谢谢

弗拉多

4

1 回答 1

1

是一个可以满足您需求的发行版。它提供 PWM 和 Servo 内核模块。您可以简单地修改 /sys/class/rpi-pwm/ 下的内核文件来创建自定义 PWM 输出。
是下载链接。

于 2015-04-06T15:54:06.920 回答