初级会员

- 积分
- 56
- 金钱
- 56
- 注册时间
- 2018-5-10
- 在线时间
- 9 小时
|
5金钱
如题。
用原子哥的例程测试可以正常读回加速度数据,所以硬件应该没问题,然后用中断发现INT1 和INT2都没有波形输出,配置如下,希望大佬指点一二
- //初始化ADXL345.
- //返回值:0,初始化成功;1,初始化失败.
- u8 ADXL345_Init(void)
- {
- IIC2_Init(); //初始化IIC2总线
- delay_ms(200);
- if(ADXL345_RD_Reg(DEVICE_ID)==0XE5) //读取器件ID
- {
-
- ADXL345_WR_Reg(DATA_FORMAT,0X2B); //低电平中断输出,13位全分辨率,输出数据右对齐,16g量程
- ADXL345_WR_Reg(BW_RATE,0x0A); //数据输出速度为100Hz
- ADXL345_WR_Reg(POWER_CTL,0x38); ////自动休眠模式,休眠时以8HZ的频率采样
- ADXL345_WR_Reg(INT_ENABLE,0x00); //不使用中断
-
- ADXL345_WR_Reg(0x24, 0x10); //睡眠激活activity阈值,当大于这个值的时候唤醒,其中10代表1g
- ADXL345_WR_Reg(0x25, 0x02); //睡眠开始inactivity阈值,当小于这个值的时候睡眠,其中02代表0.2g
- ADXL345_WR_Reg(0x26, 0x02); //当小于inactivity值时间超过这个值的时候进入睡眠,其中02代表2秒
- ADXL345_WR_Reg( 0x27, 0x44); //直流交流触发配置,XYZ使能触发配置,此处选用X交流触发
- ADXL345_WR_Reg( 0x2F, 0x10); //中断引脚选择,此处我们将activity映射到INT2
-
- ADXL345_WR_Reg( INT_ENABLE, 0x18); //打开中断
-
- ADXL345_WR_Reg(OFSX,0x00);
- ADXL345_WR_Reg(OFSY,0x00);
- ADXL345_WR_Reg(OFSZ,0x00);
- return 0;
- }
- return 1;
- }
复制代码
|
|