在树莓派上的NodeJS中的i2c。 " wire.readByte(函数(错误,res)"无论引脚上的值如何,都返回255

时间:2017-02-16 00:24:27

标签: javascript node.js raspberry-pi buffer i2c

我有一个覆盆子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

1 个答案:

答案 0 :(得分:0)

我正面临温度读数器的类似问题。我改变I2C波特率和CPU调控器的运气有限。