以下是初始化的代码
u8 ADXL345_Init(void)
{
IIC_Init(); //初始化IIC总线
if(ADXL345_RD_Reg(DEVICE_ID)==0XE5) //读取器件ID
{
ADXL345_WR_Reg(DATA_FORMAT,0X1B); //高电平中断输出,13位全分辨率,输出数据右对齐,16g量程
ADXL345_WR_Reg(BW_RATE,0x0A); //数据输出速度为100Hz
//ADXL345_WR_Reg(POWER_CTL,0x28); //链接使能,测量模式
ADXL345_WR_Reg(INT_MAP,0x00); //配置到中断引脚1上
ADXL345_WR_Reg(THRESH_ACK,0x03); //187.5mg
ADXL345_WR_Reg(ACT_INACT_CTL,0xEE); //轴使能
ADXL345_WR_Reg(INT_ENABLE,0x10); //activity中断开启
ADXL345_WR_Reg(POWER_CTL,0x28); //链接使能,测量模式
ADXL345_WR_Reg(OFSX,0x00);
ADXL345_WR_Reg(OFSY,0x00);
ADXL345_WR_Reg(OFSZ,0x00);
ADXL345_RD_Reg(0x2B);
ADXL345_RD_Reg(0x30);
printf("read ID success");
return 0;
}
return 1;
}
GPIO外部中断引脚我配置成下拉输入,上升沿触发。
187.5/3.9=48,只要X轴的输出有48应该就可以触发外部中断了,可是一直进不去中断,大家知道问什么吗?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>