Asp.net core RaspberryIO i2c读取AM2320上最后写入的字节。[.NET核心]

Asp.net core RaspberryIO i2c读取AM2320上最后写入的字节。[.NET核心],asp.net-core,raspberry-pi,i2c,Asp.net Core,Raspberry Pi,I2c,我在Raspberry Pi 4上的.Net内核中有一个简单的控制台应用程序。我使用unosquare/raspberryio包来处理IO。我有从AM2320获取温度值的简单代码: var myDevice=Pi.I2C.AddDevice(0x5c); //唤醒代码 尝试 { myDevice.Write(0x00); 睡眠(10); } 捕获(例外e){} //0x03-读取命令,0x00-寄存器,4-响应长度 写入(新字节[]{0x03,0x00,4}); 睡眠(2); var rawIn

我在Raspberry Pi 4上的.Net内核中有一个简单的控制台应用程序。我使用unosquare/raspberryio包来处理IO。我有从AM2320获取温度值的简单代码:

var myDevice=Pi.I2C.AddDevice(0x5c);
//唤醒代码
尝试
{
myDevice.Write(0x00);
睡眠(10);
}
捕获(例外e){}
//0x03-读取命令,0x00-寄存器,4-响应长度
写入(新字节[]{0x03,0x00,4});
睡眠(2);
var rawInfo=myDevice.Read(8);
我从myDevice.Read(8)中得到的所有数据都是八个字节,第一个是
Write()
方法(4)中的最后一个值,其余为0x00


我已经用Python代码测试了AM2320,它可以工作,所以它不是AM2320的错误。我觉得我错过了什么。你知道怎么回事吗?

通常问题是有些库希望使用8位地址,而I²C标准是7位左右。根据具体情况,请尝试0xb8或0x27。