nanoFramework - устройство I2C не отвечает

Здесь новичок в нанокадре, но, следуя некоторому образцу кода, я не могу получить 7-сегментный дисплей, работающий с моим микроконтроллером ESP32.

Я использую VS 2019. Я использую последнее расширение нанокадров (2019.5.0.14). Мой проект очень прост, использую эти пакеты:

      <package id="nanoFramework.CoreLibrary" version="1.10.1-preview.11" targetFramework="netnanoframework10" />
<package id="nanoFramework.Runtime.Events" version="1.9.0-preview.14" targetFramework="netnanoframework10" />
<package id="nanoFramework.Windows.Devices.I2c" version="1.4.1-preview.29" targetFramework="netnanoframework10" />

Я даже пробовал упростить код до следующего:

      I2cDevice _display = I2cDevice.FromId("I2C1", new I2cConnectionSettings(0x70) { BusSpeed = I2cBusSpeed.FastMode });
_display.Write(new byte[] { 0x21 });

Что я пробовал:

  • Проверяя, что 0x70 правильный адрес шины I2C (да, это так)
  • Использование того же 7-сегментного дисплея и MCU с примером проекта в Arudino IDE (отлично работает)
  • Пошаговая отладка в VS, чтобы увидеть, не возникают ли какие-либо ошибки (ошибок нет)

Что мне не хватает?

2 ответа

Для справки в будущем, что решило проблему для меня, так это переназначение других контактов GPIO (14 и 15) на SDA/SCL с помощью:

      Configuration.SetPinFunction(14, DeviceFunction.I2C1_DATA);
Configuration.SetPinFunction(15, DeviceFunction.I2C1_CLOCK);

Отвечаем на это на нашем сервере Discord .

Другие вопросы по тегам