2017-02-16 31 views
0

У меня есть малиновый pi, подключенный к IO Pi Plus от AB Electronics. У меня есть один из двух чипов MCP23017 в качестве выхода, . другой в качестве вклада только они индивидуально адресуемых по 0x20 и 0x21 соответственноi2c в NodeJS на малиновой пи. «wire.readByte (function (err, res)» возвращает 255 независимо от значения на выводах

Выведение прекрасно, и я могу легко управлять светодиодами с помощью функции:.

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

Я столкнулся с подобными проблемами с считывателем температуры. У меня была ограниченная удача, меняющая скорость передачи I2C и регулятор процессора.