完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我目前正在尝试开发脉搏血氧仪。为此,我使用了 MAX30102 传感器和 NXP LPC1768 微控制器。通信通过 I2C 完成。
我已将 MAX30102 传感器配置为在 FIFO 满时立即生成中断。 一旦我以调试模式启动程序,就会产生一个中断(调试跳转到中断服务程序,逻辑分析器显示中断线变低)。 当我尝试在第一次中断时读取 MAX30102 的中断状态寄存器时,得到的值为 0x00。 也没有其他中断产生。我怀疑这是因为I2C读取中断状态寄存器没有正常工作,因此MAX30102上的中断没有复位。 但是,如果我读取 FIFO 数据寄存器,则会连续产生中断,因为读取该寄存器会重置 MAX30102 上的中断。 但现在到了异想天开的部分。如果我用相同的I2C读取功能读取MAX30102的其他寄存器,我得到值。例如我之前写过的FIFO_CONFIG 寄存器。我通过读取写入寄存器的相同值来获得。 但是为什么同样功能的中断状态寄存器的读取不起作用呢? 我跟踪 I2C_Read_Function 以使用逻辑分析仪读取两个寄存器,这对两个寄存器都是正确的。 你们有没有人对这个问题可能是什么以及我可以尝试什么有任何一般性的想法, 因为我对这个项目感到绝望?!我已经尝试了很多,所以我很感激我还没有追求的任何解决方案。 附上我的代码文件。 我试着把它切到重要的部分,但我不能再缩小范围了。 |
|
相关推荐
|
|
只有小组成员才能发言,加入小组>>
小黑屋| 手机版| Archiver| 电子发烧友 ( 粤ICP备14022951号 )
GMT+8, 2023-7-4 06:05 , Processed in 0.729597 second(s), Total 83, Slave 64 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 深圳华秋电子有限公司
电子发烧友 (电路图) 粤公网安备 44030402000349 号 电信与信息服务业务经营许可证:粤 B2-20160233 工商网监 粤ICP备 14022951 号