忘備録-備忘録

技術的な備忘録

I2C接続のEEPROMへの読み込み書き込み

2018-12-03 20:21:00 | raspberry ...

raspberry Piに取り付けたI2C接続のEEPROMを読み書きするJavaScriptのプログラムです。

ライブラリのインストール

ローカルにライブラリをインストール

$ npm install i2c-bus

グローバルにライブラリをインストール

$ sudo npm –g install i2c-bus

JavaScriptコード

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));

参考


最新の画像もっと見る

コメントを投稿