我有一个覆盆子pi连接到AB Electronics的IO Pi Plus。我将两个MCP23017芯片中的一个作为输出,另一个仅作为输入。它们可以分别通过0x20和0x21单独寻址。
输出很好,我可以使用以下功能轻松控制LED:
wire.write([0x00, 0x00], function(err){}); //Set wire(0x20) data direction resister(0x00) to output only (0x00).
然而,尝试使用wire.readByte读取时,永远不会返回255以外的任何内容(或者当我尝试反转位时返回-256。这本身就很奇怪)。 wire1 = 0x21(仅输入)
wire1.readByte(function(err,res){ //Res is a buffer to hold the byte that is read
//res = ~res This returns -256 instead of 0 when enabled. Not sure why.
console.log(res); // Output res
});
});
我使用的所有文档都在https://www.npmjs.com/package/i2c,芯片组的数据表为http://ww1.microchip.com/downloads/en/DeviceDoc/21952b.pdf
答案 0 :(得分:0)
我正面临温度读数器的类似问题。我改变I2C波特率和CPU调控器的运气有限。