我是 Raspberry PI GPIO 的初学者。
我正在尝试一个教程来测试 PWM。
这是教程的代码:
PwmChannel pwmch = PwmChannel.Create(0, 0, 100, 0.0);
pwmch.Start();
int x = 5;
while (x-- > 0)
{
for (int i = 0; i < 100; i++)
{
pwmch.DutyCycle = i * 0.01d;
Thread.Sleep(20);
}
for (int i = 100; i > 0; i--)
{
pwmch.DutyCycle = i * 0.01d;
Thread.Sleep(20);
}
}
pwmch.Stop();
pwmch.Dispose();
程序运行后,putty报这个错误:
System.ArgumentException: The chip number 0 is invalid or is not enabled.
我不确定,但似乎我还没有启用它的某些设置。
此外,我已经按照教程更改了 dtoverlay,如下所示: 光盘/引导 sudo nano config.txt
将 dtoverlay 更改为:
dtoverlay=vc4-fkms-v3d
到
dtoverlay=vc4-fkms-v3d,pwn,pin=18,func=2
我的代码有什么问题?
pwm 的覆盖配置是错误的,不确定你在哪里找到的。
vc4-fkms-v3d
覆盖层用于图形驱动程序,与pwm无关。
不要更改该行,而是将此行添加到文件末尾:
dtoverlay=pwm-2chan,pin=12,pin2=13,func=4,func2=4
然后重新启动。