0

这里是 nanoframework 的新手,但是按照一些示例代码,我无法让 7 段显示器与我的 ESP32 MCU 一起工作。

我在 VS 2019 上。使用最新的 nanoframework 扩展(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 总线地址(是的)
  • 在 Arudino IDE 中使用与示例项目相同的 7 段显示器和 MCU(工作正常)
  • 在 VS 中进行单步调试以查看是否抛出任何错误(没有错误输出)

我错过了什么?

4

2 回答 2

1

为了将来参考,为我解决问题的方法是将其他 GPIO 引脚(14 和 15)重新分配给 SDA/SCL:

Configuration.SetPinFunction(14, DeviceFunction.I2C1_DATA);
Configuration.SetPinFunction(15, DeviceFunction.I2C1_CLOCK);
于 2021-03-15T13:46:18.973 回答
0

在我们的Discord 服务器中回答这个问题。

于 2021-03-12T22:07:38.863 回答