const i2c = require('i2c-bus');
//EEPROMのアドレス const EEPROM_ADDR = 0x50;
/* EEPROMの読み出し 引数 読み出したいアドレス 戻り値 ROMのデータ */ function readData(addr) { var i2c1 = i2c.openSync(1); var buf=Buffer.alloc(2); buf[0] = addr >> 8; // アドレス上位ビット buf[1] = addr & 0xff; // アドレス下位ビット i2c1.i2cWriteSync(EEPROM_ADDR,buf.length,buf); i2c1.i2cReadSync(EEPROM_ADDR,1,buf);
i2c1.closeSync(); return buf[0]; };
/* EEPROMへの書き込み 引数 addr 書き込みたいアドレス data 書き込みデータ 戻り値 なし */ function writeData(addr,data) { var i2c1 = i2c.openSync(1); var buf=Buffer.alloc(3); buf[0] = addr >> 8; // アドレス上位ビット buf[1] = addr & 0xff; // アドレス下位ビット buf[2] = data; // 書き込むデータ i2c1.i2cWriteSync(EEPROM_ADDR,buf.length,buf);
i2c1.closeSync(); };
//データの書き込み writeData(0,0xAA);
//データの読み出し data = readData(0); console.log("read data "+data.toString(16));
|
※コメント投稿者のブログIDはブログ作成者のみに通知されます