【问题标题】:How to enable LightningProviders for GPIO?如何为 GPIO 启用 LightningProviders?
【发布时间】:2020-01-19 19:41:18
【问题描述】:

我正在尝试使用 Windows 10 IoT Core 访问我的自定义 SBC 上的 GPIO。我发现我必须使用LightningProviders 来完成此操作。因此,我尝试按照本指南正确使用闪电提供者。

我使用了非常简单的代码:

            if (LightningProvider.IsLightningEnabled)
            {
                LowLevelDevicesController.DefaultProvider = LightningProvider.GetAggregateProvider();
            }
            GpioStatus = "Initializing...";
            var gpio = GpioController.GetDefault();
            if (gpio == null)
            {
                GpioStatus = "There is no GPIO controller on this device.";
            }
            else
            {
                gpio.OpenPin(1).Write(GpioPinValue.High);
                GpioStatus = gpio.OpenPin(1).Read().ToString();
            }

其中 GpioStatus 是 UI 上的输出文本。

我发现如果我在启用检查之外运行LowLevelDevicesController.DefaultProvider = LightningProvider.GetAggregateProvider(); 行,它会拾取 GPIO 控制器并让我检测我有多少引脚并读取它们(全部为低)。但是,我无法更改 DriveMode 或写入引脚而不会出错。我得到的错误只是告诉Make sure the LightningProviders are enabled

这让我回到了我一开始链接的指南。它建议使用 W10IoT 的设备门户或 DMAPUtil.exe 启用 DMAP 驱动程序。我都试过了。在设备门户中,它应该存在的区域是空白的。在命令行中尝试使用 DMAPUtil.exe 只会返回 dmaputil.exe is not available on this system

因此,我想问是否有任何其他方法可以启用 LightningProviders,或者是否有办法知道它们是否与我的板不兼容?

谢谢!

更新

还尝试使用 W10IoT 命令行中的 devcon.exe 命令。 我能够找到直接内存访问控制器,但是当我执行 devcon.exe enable *PNP0200 时,它说它已启用,但在使用 devcon.exe status *PNP0200 检查时仍处于禁用状态

【问题讨论】:

    标签: c# uwp windows-10-iot-core


    【解决方案1】:

    请确认您是否在您的 OEMInput.xml 中添加了 IOT_DMAP_DRIVER 功能,该功能将在镜像中添加 DMAP 驱动程序。如果从 OEMInput.xml 中删除 IOT_DMAP_DRIVER,则默认驱动程序控制器在设备 protal 中将为空白,并且 dmaputil 在 Windows IoT Core 上将不可用。请查看IoT Core feature list

    更新:

    您可以下载Lighting Provider的源码,然后在您的自定义镜像中进行部署和调试。

    【讨论】:

    • 尝试将其添加到 OEMInput.xml 并重建 flash.ffu。启动并检查 devcon.exe 和 dmaputil.exe 以及设备门户,结果与我之前在问题中提到的结果相同。
    • 您是否使用从 Microsoft 下载的图像测试了此问题,或者将您的自定义 ffu 图像刷新到标准 SBC 板上?
    • 我也没做过。我没有标准的 Raspberry Pi/MinnowBoard 或任何可以测试的东西。从微软下载的图像是指为这些板预先制作的图像 flash.ffu?
    • 可以,你可以尝试下载微软提供的图片,然后测试这个问题。
    • 尝试使用 ioT Dashboard 在 USB 上安装 Intel (Minnowboard (x64)) Image 并在我的板上运行。它只是无限期地继续启动
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-04
    • 2021-11-05
    • 1970-01-01
    • 2016-11-02
    • 1970-01-01
    • 2015-08-08
    相关资源
    最近更新 更多