树莓派 B+ 硬件 PWM

Posted

技术标签:

【中文标题】树莓派 B+ 硬件 PWM【英文标题】:raspberry pi B+ hardware PWM 【发布时间】:2015-01-26 10:04:20 【问题描述】:

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 建议。

谢谢

弗拉多

【问题讨论】:

你为什么不阅读工作 python 库的源代码,并做同样的事情(它使用 WiringPi2 -- github.com/Gadgetoid/WiringPi2-Python/tree/master/WiringPi/…) 【参考方案1】:

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

【讨论】:

以上是关于树莓派 B+ 硬件 PWM的主要内容,如果未能解决你的问题,请参考以下文章

【原创】树莓派3B开发Go语言(四)-自写库实现pwm输出

树莓派 PWM 精度,Python

树莓派pico如何连接遥控接收器?

树莓派外设开发综述

树莓派中QT实现PWM

树莓派的PWM脉宽调制功能介绍