永利皇宫手机版网址 > www.421.com > 张高兴的 Windows 10 IoT 开发笔记:使用 Lightning 中

原标题:张高兴的 Windows 10 IoT 开发笔记:使用 Lightning 中

浏览次数:56 时间:2019-10-23

  在 Package 标签下加多一个命名空间,并修正 IgnorableNamespaces 属性。

张高兴的 Windows 10 IoT 开发笔记:使用 Lightning 中的软件 PWM 驱动 RGB LED。  蒸蒸日上、 校勘私下认可调整器驱动

<iot:Capability Name="lowLevelDevices" />
<DeviceCapability Name="109b86ad-f53d-4b76-aa5f-821e2ddf2141"/>
/// <summary>
/// Breathing LED
/// </summary>
/// <param name="delay">Delay Time</param>
public async Task BreathingAsync(int delay)
{
    double red = 255;
    double green = 0;
    double blue = 0;

    while (red != 0 && green != 255)
    {
        redPin.SetActiveDutyCyclePercentage(red / 255.0);
        greenPin.SetActiveDutyCyclePercentage(green / 255.0);

        red--;
        green++;
        await Task.Delay(delay);
    }

    while (green != 0 && blue != 255)
    {
        greenPin.SetActiveDutyCyclePercentage(green / 255.0);
        bluePin.SetActiveDutyCyclePercentage(blue / 255.0);

        green--;
        blue++;
        await Task.Delay(delay);
    }

    while (blue != 0 && red != 255)
    {
        bluePin.SetActiveDutyCyclePercentage(blue / 255.0);
        redPin.SetActiveDutyCyclePercentage(red / 255.0);

        blue--;
        red++;
        await Task.Delay(delay);
    }
}

  注意援引

  释放的话要先关闭 PWM。

  这一步是尤为重要的,因为运用 Lightning 必需关闭系统暗中认可的调节器驱动,没启用的话抛出个要命就好了。

图片 1

  张高兴的 Windows 10 IoT 开发笔记:使用 Lightning 中的软件 PWM 驱动 RGB LED。1. 判断 Lightning 的启用

图片 2

PwmController controller = (await PwmController.GetControllersAsync(LightningPwmProvider.GetPwmProvider()))[1];
controller.SetDesiredFrequency(1000);

  三、引用 Microsoft.Iot.Lightning

 

张高兴的 Windows 10 IoT 开发笔记:使用 Lightning 中的软件 PWM 驱动 RGB LED。 

  在 NuGet 包管理器下搜索 Lightning 就能够。

 

  二、更改 Package.appxmanifest 配置

 

 

  四、使用 Lightning

if (!LightningProvider.IsLightningEnabled)
{
    throw new NullReferenceException("Lightning isn't enabled !");
}

  以 Red 引脚为例。首先通过调控器来展开引脚,这里为 GPIO 二十一人置的引脚。然后供给设置 Duty Cycle Percentage ,通俗点就是电压的占比,0

  3. 设置 PWM 引脚

图片 3

redPin.Stop();
redPin.Dispose();

图片 4

  张开四月泡派的 Windows Device Portal ,在 Devices 菜单中的 Default Controller Driver 选项,将暗中认可的 Inbox Driver 改正为 Direct Memory Mapped Driver ,重启。

  使用 Lightning 后,以前基于默许调控器驱动编写的I2C,SPI代码会报错。但 Lightning 中合拢了 I2C、SPI、GPIO 等的调整器,将其替换一下就可以。

图片 5

  感到又帮 Windows 10 IoT 开发了,所以呢,正经八百的写篇博客吧。其实大约四个月前就想写的,那时候想做个依靠Windows 10 IoT 的手推车,但四月泡派原生不协理 PWM 啊。百度也搜不到,上 GitHub 转了风姿洒脱圈,在 @ms-iot 那开掘了 Lightning ,再看最后的换代时间,照旧二〇一四中旬……Windows 10 IoT 在国内真惨,这么长日子都没人写个科目……不说废话了……

  本文的品种分析部分就得了了。上边给八个呼吸灯的测量试验代码,作者用的是共阴极 XC60GB LED 。代码在 GitHub 的档期的顺序中有。

  五、注意

 

  新建二个 UWP 项目,本文这里叫“EnclavegbLed德姆o”。以“查看代码”的形式张开Package.appxmanifest 。

  • 1 里边的小数。

    PwmPin redPin = controller.OpenPin(17); redPin.SetActiveDutyCyclePercentage(0); redPin.Start();

  效果图:

  一切符合规律的景况下就该获得 Lightning 中的软件 PWM 调节器了。Lightning 中也集成了其他硬件 PWM 的调控器,由此在调用 PwmController.GetControllersAsync() 时重临的是多个集合,在这之中第二项是我们必要的软件 PWM 调控器。得到调控器后还亟需设置 PWM 的效能,这一个软件 PWM 调节器的频率范围在 40 - 1000 Hz 之间(低的那叁个……),不在这里个范围内的数字会抛出极其。

  之后要退换 LED 的亮度还是要转移 SetActiveDutyCyclePercentage(value) 的 value 值。

xmlns:iot="http://schemas.microsoft.com/appx/manifest/iot/windows10"
IgnorableNamespaces="uap mp iot"

  Lightning 项目地址:

  还有 Windows IoT Extensions for the UWP

 

 

  本文示例地址:

using Windows.Devices.Pwm;
using Microsoft.IoT.Lightning.Providers;

  2. 获得软件 PWM 调节器

  在 Capabilities 加多如下内容

本文由永利皇宫手机版网址发布于www.421.com,转载请注明出处:张高兴的 Windows 10 IoT 开发笔记:使用 Lightning 中

关键词:

上一篇:没有了

下一篇:美食的诱惑(上)