ADX345使用IIC读取数据
IIC配置
方法一:使用IO模拟IIC操作
彩屏显示使用之前修改好的ili9325的程序(lcd.c,lcd.h,gui.c,gui.h),在main.c中直接添加lcd_init()初始化函数,就可以使用lcd和gui中的绘图或者显示字符的函数了,不过需要注意要重定向printf输出到串口。
IIC使用IO模拟,创建IIC初始化和读写函数
ADX345的相关操作
ADX345初始化操作
查看器件 ID。ADXL345 的 ID 寄存器为 0x00
设置 ADXL345 存储数据的方式和通信方式。寄存器地址为:0x31。
设置数据的输出速率设置的是 BW_RATE 寄存器,地址为:0x2C。
设置测量模式和链接模式
设置不启用中断,设置 INT_ENABLE 寄存器,设置它不使用中断模式。
初始化偏移量,设置 OFSX 寄存器、OFSY 寄存器、OFSZ 寄存器。
读寄存器操作
1) 发送起始信号
2) 发送 I2C 写器件地址
3) 等待应答
4) 发送 I2C 要读的寄存器地址
5) 等待应答
6) 发送起始信号
7) 发送 I2C 读器件地址
8) 等待应答
9) 接收返回数据
10) 发送结束信号
写寄存器操作
1) 发送起始信号
2) 发送 I2C 写器件地址
3) 等待应答
4) 发送要写入的寄存器地址
5) 等待应答
6) 发送要写入的数据
7) 等待应答
8) 发送结束信号
注意读到的为8位,需要改成16位
uint8_t readValue[6];
|
*xValue = (uint16_t)(readVal