i2c 使用 Netduino 从传感器读取数据
i2c read data from sensor with Netduino
我不久前开始学习 Netduino。现在,我想将它与 MS5803 30BAR 传感器一起使用。此组件使用 I2C 协议进行通信。我学了一点这个协议,但还不够。
我写了介绍代码。当我来到主要代码时,我什么也没做。我的代码如下。
有人可以帮忙解决这个问题吗?我会很高兴:)
public class Program
{
public static void Main()
{
// Configuration of MS5803 30BA
I2CDevice i2c = new I2CDevice(new I2CDevice.Configuration(0x76>>1, 400));
byte[] read = new byte[1];
I2CDevice.I2CTransaction[] i2cTx = new I2CDevice.I2CTransaction[1];
i2cTx[0] = I2CDevice.CreateReadTransaction(read);
// ???
}
}
您似乎错过了 I2C.Execute 电话。在不知道您正在与之通信的设备的情况下,至少会开始传输。
创建读取事务后尝试添加此行。
i2c.Execute(i2cTX[0],500);
byte[] returnByte = new byte[3];
var readX = new I2CDevice.I2CTransaction[] {I2CDevice.CreateReadTransaction(returnByte) };
int executed = 0;
I2CDevice i2c = new I2CDevice(new I2CDevice.Configuration(0x76, 400));
executed = i2c.Execute(readX, 400);
if (executed == 0)
{
//Debug.Print("Read FAIL!");
}
else
{
//Debug.Print("Read SUCCESS!");
}
//throw new Exception("I2C transaction failed");
//you will need to do some bit shifting with the readX array to get your values.
}
这里有一篇关于 netMF i2c 的优秀文档:https://www.ghielectronics.com/docs/12/i2c
设备数据sheet:
http://www.amsys-sensor.eu/sheets/amsys.en.ms5803_30ba.pdf
我不久前开始学习 Netduino。现在,我想将它与 MS5803 30BAR 传感器一起使用。此组件使用 I2C 协议进行通信。我学了一点这个协议,但还不够。
我写了介绍代码。当我来到主要代码时,我什么也没做。我的代码如下。
有人可以帮忙解决这个问题吗?我会很高兴:)
public class Program
{
public static void Main()
{
// Configuration of MS5803 30BA
I2CDevice i2c = new I2CDevice(new I2CDevice.Configuration(0x76>>1, 400));
byte[] read = new byte[1];
I2CDevice.I2CTransaction[] i2cTx = new I2CDevice.I2CTransaction[1];
i2cTx[0] = I2CDevice.CreateReadTransaction(read);
// ???
}
}
您似乎错过了 I2C.Execute 电话。在不知道您正在与之通信的设备的情况下,至少会开始传输。
创建读取事务后尝试添加此行。
i2c.Execute(i2cTX[0],500);
byte[] returnByte = new byte[3];
var readX = new I2CDevice.I2CTransaction[] {I2CDevice.CreateReadTransaction(returnByte) };
int executed = 0;
I2CDevice i2c = new I2CDevice(new I2CDevice.Configuration(0x76, 400));
executed = i2c.Execute(readX, 400);
if (executed == 0)
{
//Debug.Print("Read FAIL!");
}
else
{
//Debug.Print("Read SUCCESS!");
}
//throw new Exception("I2C transaction failed");
//you will need to do some bit shifting with the readX array to get your values.
}
这里有一篇关于 netMF i2c 的优秀文档:https://www.ghielectronics.com/docs/12/i2c
设备数据sheet: http://www.amsys-sensor.eu/sheets/amsys.en.ms5803_30ba.pdf