完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我现在正在使用G-Sensor芯片ADXL345,在使用过程中遇到点问题,特向各位高手请教。
我采用G-Sensor的INT1脚中断输出到MCU的一个外部中断,从而唤醒休眠状态的MCU。 但现在遇到这样问题,G-Sensor偶尔会不停进入中断,且一直不停,这个时候通过示波器测INT1 管教可看到一族一族脉冲输出,请问是什么原因,非常感谢! void Init_ADXL345(void) { I2CWriteOneByte(DEVICE_ADDR, 0x2E, 0x00); //关中断 I2CWriteOneByte(DEVICE_ADDR, 0x31, 0x0B); //测量范围,正负16g,13位模式,中断至低电平有效 I2CWriteOneByte(DEVICE_ADDR, 0x2C, 0x17); //速率设定为12.5 参考pdf13页 I2CWriteOneByte(DEVICE_ADDR, 0x2D, 0x18); //选择电源模式 参考pdf24页,0x08 I2CWriteOneByte(DEVICE_ADDR, 0x1E, 0x00); //X 偏移量 根据测试传感器的状态写入pdf29页 I2CWriteOneByte(DEVICE_ADDR, 0x1F, 0x00); //Y 偏移量 根据测试传感器的状态写入pdf29页 I2CWriteOneByte(DEVICE_ADDR, 0x20, 0x00); //Z 偏移量 根据测试传感器的状态写入pdf29页 I2CWriteOneByte(DEVICE_ADDR, 0x24, 0x20); //THR_ACT, 2g 睡眠激活阈? I2CWriteOneByte(DEVICE_ADDR, 0x25, 0x02); //THR_INACT, 0.2g睡眠开始阈值0x02 I2CWriteOneByte(DEVICE_ADDR, 0x26, 0x02); //当小于THR_INACT 2s进入睡眠 I2CWriteOneByte(DEVICE_ADDR, 0x27, 0xFF); //Z交流触发 I2CWriteOneByte(DEVICE_ADDR, 0x2F, 0xEF); //中断引脚映射到INT1 I2CWriteOneByte(DEVICE_ADDR, 0x2E, 0x10); //开中断 I2CWriteOneByte(DEVICE_ADDR, 0x38, 0xDF); } |
|
相关推荐 |
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
2371 浏览 1 评论
8117 浏览 0 评论
1936 浏览 0 评论
VL53L5CX #高达 8x8 多区域测距和 63°对角线宽视场 飞行时间多区域测距传感器
17318 浏览 0 评论
【罗姆传感器评估板试用体验连载】罗姆传感器整合进同一个示例程序
21960 浏览 0 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-23 15:22 , Processed in 0.700401 second(s), Total 75, Slave 58 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号