System.ArgumentException:芯片编号0无效或未启用

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

我是 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

我的代码有什么问题?

.net asp.net-core .net-core raspberry-pi
1个回答
0
投票

pwm 的覆盖配置是错误的,不确定你在哪里找到的。

vc4-fkms-v3d
覆盖层用于图形驱动程序,与pwm无关。

不要更改该行,而是将此行添加到文件末尾:

dtoverlay=pwm-2chan,pin=12,pin2=13,func=4,func2=4

然后重新启动。

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