寻求支持树莓派3硬件PWM的字符设备接口类库(弃用sysfs)
树莓派3硬件PWM适配问题
多年前我为树莓派3编写了一个简短的C程序,使用pigpio库向供暖系统发送红外信号,目前仍在使用。载波频率为450 kHz,对树莓派来说速度相当快,因此我采用硬件PWM,仅需切换PWM的关闭和开启状态(即占空比分别为0%和50%)。
自最新版RPiOS(原“Raspbian”)更新后,该程序无法正常运行,原因可能是pigpio库使用了已废弃的sysfs接口。我通过命令行确认sysfs已不再受支持(相同命令在未升级的树莓派上可正常执行):
~# uname --kernel-name --kernel-release --kernel-version Linux 6.6.31+rpt-rpi-v7 #1 SMP Raspbian 1:6.6.31-1+rpt1 (2024-05-29) ~# echo 23 > /sys/class/gpio/export -bash: echo: write error: Invalid argument
我的问题是:是否存在支持硬件PWM且采用字符设备接口的类库?目前了解的相关库情况如下:
- pigpio和Python的RPi.GPIO似乎仍使用sysfs
- libgpiod和wiringPi采用字符设备接口,但未发现硬件PWM支持
- bcm2835库仅支持树莓派1和树莓派2
内容的提问来源于stack exchange,提问作者Al_
相关产品推荐
相关产品推荐

