Я могу воспроизвести эту проблему. Я отслеживал исключение, оно выбрасывается здесь . Я опубликовал проблему ( # 590 ) в GitHub.
public Windows10I2cDevice(I2cConnectionSettings settings)
{
_settings = settings;
var winSettings = new WinI2c.I2cConnectionSettings(settings.DeviceAddress);
string busFriendlyName = $"I2C{settings.BusId}";
string deviceSelector = WinI2c.I2cDevice.GetDeviceSelector(busFriendlyName);
DeviceInformationCollection deviceInformationCollection = DeviceInformation.FindAllAsync(deviceSelector).WaitForCompletion();
if (deviceInformationCollection.Count == 0)
{
throw new ArgumentException($"No I2C device exists for bus ID {settings.BusId}.", $"{nameof(settings)}.{nameof(settings.BusId)}");
}
_winI2cDevice = WinI2c.I2cDevice.FromIdAsync(deviceInformationCollection[0].Id, winSettings).WaitForCompletion();
if (_winI2cDevice == null)
{
throw new PlatformNotSupportedException($"I2C devices are not supported.");
}
}
Как мы знаем, .net core 3.0 для IoT - это предварительный просмотр. Могу ли я знать, почему вы не решили использовать традиционный способ сделать это? Обходное решение: вы можете разместить веб-сервер в приложении UWP и добавить светодиодный элемент управления в приложение UWP. Пожалуйста, обратитесь к IoTWeb .