完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
void Init_ADXL345()
{ Single_Write_ADXL345(0xA6,0x31,0x0b,1); //测量范围,正负16g,13位模式 高电平有效 Single_Write_ADXL345(0xA6,0x2C,0x08,1); //速率设定为12.5 参考pdf13页 Single_Write_ADXL345(0xA6,0x2D,0x08,1); //选择电源模式 参考pdf24页 Single_Write_ADXL345(0xA6,0x1E,0x00,1); //X 偏移量 根据测试传感器的状态写入pdf29页 Single_Write_ADXL345(0xA6,0x1F,0x00,1); //Y 偏移量 根据测试传感器的状态写入pdf29页 Single_Write_ADXL345(0xA6,0x20,0x05,1); //Z 偏移量 根据测试传感器的状态写入pdf29页 Single_Write_ADXL345(0xA6,0x1D,0x30,1); //设置THRESH_TAP(敲击门限) 62.5mg/LSB 0xff=16g 此时试取3g Single_Write_ADXL345(0xA6,0x21,0x11,1); //设置DUR(敲击持续时间) 625us/LSB 此时试取10ms Single_Write_ADXL345(0xA6,0x2A,0x07,1); //设置各轴方向是否参加敲击检测 xyz全参与检测 Single_Write_ADXL345(0xA6,0x2E,0x00,1); //设置中断前应先禁用中断 Single_Write_ADXL345(0xA6,0x2E,0x40,1); //使能 SINGLE_TAP 中断 Single_Write_ADXL345(0xA6,0x2F,0x40,1); //设置中断引脚映射 将单击时间映射到INT2上 } 中断是高电平有效,上升沿触发,可是不好用,为什么啊 |
|
相关推荐
2个回答
|
|
楼主问题解决了吗?我遇到和你类似的问题,怎么解决的,需要配置和注意什么啊,求指教!!
|
|
|
|
可参考如下代码:
buf[0] = XL345_RATE_50; //Output Data Rate: 50Hz xl345Write(1, XL345_BW_RATE, buf); buf[0] = XL345_FULL_RESOLUTION; //Data Format: +/-16g range, right justified, 256->1g xl345Write(1, XL345_DATA_FORMAT, buf); buf[0] = XL345_TAP_X_ENABLE | XL345_TAP_Y_ENABLE | XL345_TAP_Z_ENABLE; //Enable Z Axis Tap Detection xl345Write(1, XL345_TAP_AXES, buf); buf[0] = 0x20; //Tap Threshold:2G, 62.5mg/LSB xl345Write(1, XL345_THRESH_TAP, buf); buf[0] = 0x50; //Dur:50ms, 625us/LSB, representing the maximum time //that an event must be above the THRESH_TAP threshold to qualify as a tap event xl345Write(1, XL345_DUR, buf); buf[0] = 0x20; //Latent: 40ms, 1.25ms/LSB, interval between the first tap and the second tap xl345Write(1, XL345_LATENT, buf); buf[0] = 0xF0; //Window: 300ms, 1.25ms/LSB, time window for a possible second tap event xl345Write(1, XL345_WINDOW, buf); buf[0] = XL345_SINGLETAP | XL345_DOUBLETAP; //INT_Enable: SINGLE TAP & DOUBLE TAP xl345Write(1, XL345_INT_ENABLE, buf); buf[0] = XL345_SINGLETAP | XL345_DOUBLETAP; //INT_Map: SINGLE TAP& DOUBLE TAP interrupt to INT2 pin, DOUBLE TAP interrupt to INT1 pin xl345Write(1, XL345_INT_MAP, buf); buf[0] = XL345_MEASURE; //Power CTL: Measure mode xl345Write(1, XL345_POWER_CTL, buf); |
|
|
|
只有小组成员才能发言,加入小组>>
给ADUM4223 增加信号驱动15V电压就不正常, 波动很大会被烧是什么情况?
1289 浏览 2 评论
ADP5092 SYS端口为2.09V,但是REG_OUT为0是什么原因?
1890 浏览 1 评论
ad7193差分输入ain1与ain2差是正值时,读到电压与实际值误差小,但为负值值,误差就变的很大
4232 浏览 2 评论
8987 浏览 1 评论
3133 浏览 1 评论
ADC3442采集,分析数据出现有规则毛刺,请问是哪方面的问题啊?
1410浏览 3评论
AD7190状态寄存器一直是0x80,连续转换模式下RDY不拉低
1640浏览 2评论
1608浏览 2评论
给ADUM4223 增加信号驱动15V电压就不正常, 波动很大会被烧是什么情况?
1291浏览 2评论
202浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-20 14:32 , Processed in 0.786190 second(s), Total 49, Slave 43 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号