const i2c = require('i2c-bus'); const i2c1 = i2c.openSync(1); // x,y,z角度=Angle/32768*180 // const data1 = i2c1.readWordSync(0x50, 0x3d); // const data2 = i2c1.readWordSync(0x50, 0x3e); // const data3 = i2c1.readWordSync(0x50, 0x3f); // // 时间 // const data4 = i2c1.readWordSync(0x50, 0x30); // const data5 = i2c1.readWordSync(0x50, 0x31); // const data6 = i2c1.readWordSync(0x50, 0x32); // const data7 = i2c1.readWordSync(0x50, 0x33); // 模块温度 = */100 °c // const data8 = i2c1.readWordSync(0x50, 0x40); // // 轴加速度xyz = Angle/32768*16 // const data9 = i2c1.readWordSync(0x50, 0x34); // const data10 = i2c1.readWordSync(0x50, 0x35); // const data11 = i2c1.readWordSync(0x50, 0x36); // // 轴角速度xyz = Angle/32768*2000 // const data12 = i2c1.readWordSync(0x50, 0x37); // const data13 = i2c1.readWordSync(0x50, 0x38); // const data14 = i2c1.readWordSync(0x50, 0x39); // // 高低气压pa // const data15 = i2c1.readWordSync(0x50, 0x45); // const data16 = i2c1.readWordSync(0x50, 0x46); // // 高度低|高cm // const data17 = i2c1.readWordSync(0x50, 0x47); // const data18 = i2c1.readWordSync(0x50, 0x48); // 高低经度 = %10000000/100000 lon // const data19 = i2c1.readWordSync(0x50, 0x49); // const data20 = i2c1.readWordSync(0x50, 0x4a); // // 高低纬度 = %10000000/100000 lat // const data21 = i2c1.readWordSync(0x50, 0x4b); // const data22 = i2c1.readWordSync(0x50, 0x4c); // // GPS高度 // const data23 = i2c1.readWordSync(0x50, 0x4d); // // GPS航向角 // const data24 = i2c1.readWordSync(0x50, 0x4e); // // GPS 地速低字 // const data25 = i2c1.readWordSync(0x50, 0x4f); // // GPS 地速高字 // const data26 = i2c1.readWordSync(0x50, 0x50); // const txt1 = `角度:x:${data1 / 32768 * 180},y:${data2 / 32768 * 180},z:${data3 / 32768 * 180}` // const txt2 = `GPS高度:${data23 / 100}` // const txt3 = `模块温度:${data8 / 100}` // const a = (data19.toString() + data20.toString()) % 10000000 // const b = (data21.toString() + data22.toString()) % 10000000 // console.log(data19, data20); // console.log(data21, data22); // console.log(txt1); const bf = Buffer.alloc(8) i2c1.writeByteSync(0x50, 0x49, 2) i2c1.i2cReadSync(0x50, bf.length, bf); const a = bf.readUIntBE(0, 6).toString();//切分字节流 console.log(a); console.log(bf); const bd = Buffer.alloc(8) i2c1.writeByteSync(0x50, 0x4a, 2) i2c1.i2cReadSync(0x50, bd.length, bd); const b = bd.readUIntBE(0, 6).toString();//切分字节流 console.log(b); console.log(bd); console.log(+a + +b);