I2C的通信都是遵守I2C通信协议的,跟使用什么芯片没关系,有差别的地方在于有些芯片用单字节的读写,有些用多字节的读写,建议去看I2C通信协议,以不变应万变。
单字节写:
把 MMA7455 7位的设备地址+第8位 表示写,写入,等待处理从机的ACK,再写入8位寄存器地址,等待处理从机的ACK,再写入8位数据,等待处理从机的ACK,结束
单字节读:
把 MMA7455 7位的设备地址+第8位 表示写,写入,等待处理从机的ACK,再写入8位寄存器地址,等待处理从机的ACK,再写入7位的设备地址+第8位 表示读, 接着读取8位数据,等待处理从机的ACK,结束
如果从机的寄存器地址是 16位的,则连续分两次发送,一次发8位;如果从 从机寄存器读到的数据是16位,则连续读2次 8位。 这个要看芯片手册这个芯片是不是多字节读取的,还可以结合I2C 读写驱动里面是怎么写的,看读取完放在一个多大的数组
250Hz应该是每个轴的。
当产生中断、或者置标志位的时候,三个轴的加速度已经测量转换完成。
MMA7455内部只有一个10位A/D转换器,所以只能每次转换一个轴的,三个轴的转换应该是依次的,三轴都转换结束之后产生一次中断或者标志位通知使用者。每秒能转换250次。
以上就是关于各位有没有尝试过让mma和硬件通信全部的内容,包括:各位有没有尝试过让mma和硬件通信、MMA7455L三轴加速度传感器每个轴的采样频率是多少啊、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)