在我的应用GpioController.GetDefault()
中总是返回null的原因是什么?该应用程序正在RPI3b上运行(正如其他应用程序之前所做的那样....从未遇到过这种情况?!)
var gpioController = GpioController.GetDefault();
// gpio controller is null ... why?!
ServiceContainer.Instance.Register(new IO(gpioController));;
答案 0 :(得分:3)
发现了这个问题。它是在Windows IoT配置本身。有一个"默认控制器驱动程序"在设备选项卡中。它被设置为DMA驱动程序。将其更改为"收件箱驱动程序"并重新启动Pi解决了问题。
答案 1 :(得分:1)
如果要使用性能更好的DMA驱动程序,则需要在查询GpioControleler
// This needs the following capabilities
// <iot:Capability Name="lowLevelDevices" />
// <DeviceCapability Name="109b86ad-f53d-4b76-aa5f-821e2ddf2141"/>
if (LightningProvider.IsLightningEnabled)
{
LowLevelDevicesController.DefaultProvider = LightningProvider.GetAggregateProvider();
}
var gpioController = GpioController.GetDefault();
// gpioController is valid
有关更多详细信息,请参见Lightning Providers