寻找支持 RPi3 上硬件 PWM 的库(不使用 sysfs)

问题描述 投票:0回答:1

几年前,我使用 pigpio 库为 Raspberry Pi (RPi3) 编写了一个简短的 C 程序,将红外信号发送到加热系统。仍在使用。载波频率为 450 kHz,对于 RPi 来说相当快。因此,我使用硬件 PWM,只需要关闭和打开 PWM(即占空比分别为 0% 和 50%)。

自从最新的 RPiOS(“Raspbian”)更新后,此功能不再有效;可能是因为 Pigpio 库使用过时的 sysfs 接口。我可以在命令行上确认 sysfs 不再受支持(而相同的命令适用于另一个尚未升级的 RPi):

~# 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并使用字符设备接口pigpioRPi.GPIO(对于 Python)似乎使用 sysfs。 libgpiodwiringPi使用字符设备接口,但我发现不支持硬件PWM。库bcm2835仅支持RPi1和RPi2。

raspberry-pi gpio pwm
1个回答
0
投票

简短回答 - 否。

GPIO 字符设备接口严格来说就是 - GPIO。 PWM 是一个不同的内核子系统,具有完全独立的接口。

虽然 GPIO sysfs 接口已被弃用,取而代之的是字符设备接口,但对于 PWM,您仍然使用 PWM sysfs 接口

有关于添加 PWM 字符设备/ioctl 接口的 talk,但这甚至还没有进入主线内核(截至 Linux 6.10),更不用说 Raspberry Pi 分支了,所以你不会找到 PWM 字符设备/ioctl当前内核中的接口。

© www.soinside.com 2019 - 2024. All rights reserved.