from machine import I2C import time import ustruct DATA_FORMAT = 0x31 BW_RATE = 0x2c POWER_CTL = 0x2d INT_ENABLE = 0x2E OFSX = 0x1e OFSY =0x1f OFSZ =0x20 class ADXL345: def __init__(self, i2c): self.i2c = i2c slv = self.i2c.scan() print(slv) for s in slv: buf = self.i2c.readfrom_mem(s, 0, 1) print(buf) if(buf[0] == 0xe5): self.slvAddr = s print('adxl345 found') break #self.writeByte(POWER_CTL,0x00) #sleep #time.sleep(0.001) #低电平中断输出,13位全分辨率,输出数据右对齐,16g量程 self.writeByte(DATA_FORMAT,0x2B) #数据输出速度为100Hz self.writeByte(BW_RATE,0x0A) #不使用中断 self.writeByte(INT_ENABLE,0x00) self.writeByte(OFSX,0x00) self.writeByte(OFSY,0x00) self.writeByte(OFSZ,0x00) #链接使能,测量模式 self.writeByte(POWER_CTL,0x28) time.sleep(1) def readXYZ(self): fmt = '