gpt4 book ai didi

c# - Raspberry PI - I2C 不写入数据

转载 作者:行者123 更新时间:2023-12-02 07:42:21 24 4
gpt4 key购买 nike

我正在使用 Raspberry PI 3B+ 尝试 .NET Core ( https://github.com/dotnet/iot ) 中的新 System.Device.Gpio 库,但 I2C 通信给我带来了一些麻烦。

我想重现一些已经运行的 python 代码的行为,从一些简单的数据写入和读取开始:

I2cConnectionSettings settings = new I2cConnectionSettings(1, 0x18); // I2C BUS is 1, ADDRESS is 0x18
I2cDevice device = I2cDevice.Create(settings);
device.WriteByte(8);
Console.WriteLine("Byte written: " + device.ReadByte().ToString());

给我的结果始终是0,没有任何错误,而预期结果应该是8

可能是什么?

最佳答案

  1. 在树莓派上,确保在 raspi-config 中启用了 I2C(sudo raspi-config、接口(interface)选项、启用/禁用自动... I2C 内核模块)

  2. 使用 System.Device.I2c;//管理 Nuget 包..

  3. I2cConnectionSettings 的“DeviceAddress”是您使用 I2cDevice.WriteByte 写入单个字节的“从设备”的地址。 从属设备,例如Arduino 在其接收数据事件中接收该字节。这可用于向设备发送命令。

  4. 当您调用 device.ReadByte 时,您实际上向设备发送请求以用数据进行应答。例如,Arduino Slave 会在其request 数据事件中获取此请求,并可以发回某些内容(在一个字节以上的情况下)。这应该与 0 不同,因为如果没有读取数据,函数也会返回 0。

关于c# - Raspberry PI - I2C 不写入数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57441762/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com