我有一个 Windows IOT Core 应用程序,它将输出写入 GPIO 引脚,我需要在三个引脚上设置可变电压以将 RGB 灯设置为任何颜色。
问题是我只能将引脚设置为高值或低值,两者之间没有:
private void SetupLeds()
{
var gpio = GpioController.GetDefault();
_redLED = gpio.OpenPin(18);
_redLED.SetDriveMode(GpioPinDriveMode.Output);
_greenLED = gpio.OpenPin(23);
_greenLED.SetDriveMode(GpioPinDriveMode.Output);
_blueLED = gpio.OpenPin(24);
_blueLED.SetDriveMode(GpioPinDriveMode.Output);
}
public void Yellow()
{
_redLED.Write(GpioPinValue.High);
_greenLED.Write(GpioPinValue.High);
_blueLED.Write(GpioPinValue.Low);
}
public void Red()
{
_redLED.Write(GpioPinValue.High);
_greenLED.Write(GpioPinValue.Low);
_blueLED.Write(GpioPinValue.Low);
}
如果有人能指出我正确的方向,以便能够在引脚上写入 1 到 0 之间的值,我将不胜感激。
也许对于这个版本的 Core IOT 来说甚至是不可能的。
更新
感谢 leppie 的评论,我现在意识到我当然需要使用 PWM。
所以现在的问题是有人知道如何在 Windows Core IOT 上使用 PWM 吗?