完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛|
我相信当达到FIFO阈值时,我已经将我的系统(LSM6DSMTR通过I2C连接到Nordic nRF52382)配置为在INT2上中断。发生的事情是,当数据首次出现在FIFO中时(状态显示3个样本),我得到一个中断,然后一段时间后,我得到FTH中断,状态显示样本的FTH数。我怀疑第一个中断是我在MD2寄存器中配置的唤醒中断。我已配置,以便FIFO将转换为旁路到FIFO任何建议如何消除处理器上的第一个中断?
顺便说一句,我确实希望INT1在唤醒时断言。不是INT2。 这是我的寄存器的回读: 0x1:0x0 0x2:0x0 0x3:0x0 0x4:0x0 0x5:0x0 0x6:0x4E 0x7:0x0 0x8:0x1 0x9:0x80 0xA:0x24 0xB:0x0 0xC:0x0 0xD:0x0 0xE:0x8 0xF:0x6A 0x10:0x20 0x11:0x0 0x12:0x64 0x13:0x0 0x14:0x0 0x15:0x0 0x16:0x0 0x17:0x0 0x18:0xE0 0x19:0x0 0x1A:0x0 0x1B:0x0 0x1C:0x0 0x1D:0x20 0x1E:0x5 0x1F:0xC2 0x20:0xED0x21:0x3 0x22:0x0 0x23:0x0 0x24:0x0 0x25:0x0 0x26:0x0 0x27:0x0 0x28:0x43 0x29:0xFD 0x2A:0xF8 0x2B:0xFE 0x2C:0x58 0x2D:0x41 0x2E:0x0 0x2F:0x0 0x30:0x0 0x31:0x0 0x32:0x0 0x33:0x0 0x34:0x0 0x35:0x0 0x36:0x0 0x37:0x0 0x38:0x0 0x39:0x0 0x3A:0x0 0x3B:0x10 0x3C:0x2 0x3D:0x0 0x3E:0x41 0x3F:0x41 0x40:0x410x41:0x0 0x42:0x0 0x43:0x0 0x44:0x0 0x45:0x0 0x46:0x0 0x47:0x0 0x48:0x0 0x49:0x0 0x4A:0x0 0x4B:0x0 0x4C:0x0 0x4D:0x0 0x4E:0x0 0x4F:0x0 0x50:0x0 0x51:0x0 0x52:0x0 0x53:0x0 0x54:0x84 0x55:0x0 0x56:0x0 0x57:0x0 0x58:0x90 0x59:0x0 0x5A:0x0 0x5B:0x1 0x5C:0x2 0x5D:0x0 0x5E:0x20 0x5F:0x20 0x60:0x00x61:0x0 0x62:0x0 0x63:0x0 0x64:0x0 0x65:0x47 0x66:0x0 0x67:0x0 0x68:0x0 0x69:0x0 0x6A:0x0 0x6B:0x0 0x6C:0x0 0x6D:0x0 0x6E:0x0 0x6F:0x0 0x70:0x0 0x71:0x0 0x72:0x0 0x73:0x0 0x74:0x0 0x75:0x0 #lsm6dsm #wakeup#int2 #fifo 以上来自于谷歌翻译 以下为原文 I believe I've configured my system (LSM6DSMTR connected to Nordic nRF52382 via I2C) to interrupt on INT2 when the FIFO threshold is reached. What is happening, is that I get an interrupt when data first appears in the FIFO (status shows 3 samples), then after a while, I get the FTH interrupt with the status showing the FTH number of samples. I suspect that the first interrupt is the wakeup interrupt I've configured in the MD2 register. I've configured that so that the FIFO will transition to bypass-to-FIFO Any suggestions how to eliminate that first interrupt at the processor? By the way, I do want INT1 to assert on wakeup. Not INT2. Here's a readback of my registers: 0x1: 0x0 0x2: 0x0 0x3: 0x0 0x4: 0x0 0x5: 0x0 0x6: 0x4E 0x7: 0x0 0x8: 0x1 0x9: 0x80 0xA: 0x24 0xB: 0x0 0xC: 0x0 0xD: 0x0 0xE: 0x8 0xF: 0x6A 0x10: 0x20 0x11: 0x0 0x12: 0x64 0x13: 0x0 0x14: 0x0 0x15: 0x0 0x16: 0x0 0x17: 0x0 0x18: 0xE0 0x19: 0x0 0x1A: 0x0 0x1B: 0x0 0x1C: 0x0 0x1D: 0x20 0x1E: 0x5 0x1F: 0xC2 0x20: 0xED0x21: 0x3 0x22: 0x0 0x23: 0x0 0x24: 0x0 0x25: 0x0 0x26: 0x0 0x27: 0x0 0x28: 0x43 0x29: 0xFD 0x2A: 0xF8 0x2B: 0xFE 0x2C: 0x58 0x2D: 0x41 0x2E: 0x0 0x2F: 0x0 0x30: 0x0 0x31: 0x0 0x32: 0x0 0x33: 0x0 0x34: 0x0 0x35: 0x0 0x36: 0x0 0x37: 0x0 0x38: 0x0 0x39: 0x0 0x3A: 0x0 0x3B: 0x10 0x3C: 0x2 0x3D: 0x0 0x3E: 0x41 0x3F: 0x41 0x40: 0x410x41: 0x0 0x42: 0x0 0x43: 0x0 0x44: 0x0 0x45: 0x0 0x46: 0x0 0x47: 0x0 0x48: 0x0 0x49: 0x0 0x4A: 0x0 0x4B: 0x0 0x4C: 0x0 0x4D: 0x0 0x4E: 0x0 0x4F: 0x0 0x50: 0x0 0x51: 0x0 0x52: 0x0 0x53: 0x0 0x54: 0x84 0x55: 0x0 0x56: 0x0 0x57: 0x0 0x58: 0x90 0x59: 0x0 0x5A: 0x0 0x5B: 0x1 0x5C: 0x2 0x5D: 0x0 0x5E: 0x20 0x5F: 0x20 0x60: 0x00x61: 0x0 0x62: 0x0 0x63: 0x0 0x64: 0x0 0x65: 0x47 0x66: 0x0 0x67: 0x0 0x68: 0x0 0x69: 0x0 0x6A: 0x0 0x6B: 0x0 0x6C: 0x0 0x6D: 0x0 0x6E: 0x0 0x6F: 0x0 0x70: 0x0 0x71: 0x0 0x72: 0x0 0x73: 0x0 0x74: 0x0 0x75: 0x0 #lsm6dsm #wakeup #int2 #fifo |
|
相关推荐
5个回答
|
|
|
换句话说 - 我可以配置LSM6DSMTR在唤醒时触发FIFO(旁路到FIFO)并仅在INT2上获得FTH中断吗?
以上来自于谷歌翻译 以下为原文 To put it another way - Can I configure the LSM6DSMTR to trigger the FIFO (in bypass-to-FIFO) on Wakeup and get ONLY the FTH interrupt on INT2? |
|
|
|
|
|
在我看来,这是不可能的,但我会与同事们仔细检查。
顺便说一句。您正在使用连续到FIFO模式,而不是旁路到FIFO(它不可用)。 以上来自于谷歌翻译 以下为原文 It seems to me that it is not possible, but I will double check with my colleagues. Btw. you are using Continous-to-FIFO mode, not Bypass-to FIFO (it is not available). |
|
|
|
|
|
谢谢。请与同事核实后确认。你是对的,没有Bypass-to-FIFO模式。但是,我认为我处于旁路连续状态 - 寄存器0xA = 0x24。不是连续到FIFO。
以上来自于谷歌翻译 以下为原文 Thanks. Please confirm after checking with your colleagues. You're right that there is no Bypass-to-FIFO mode. However, I think I'm in Bypass-to-Continuous - register 0xA = 0x24. Not in Continuous-to-FIFO. |
|
|
|
|
|
通过将FTH中断发送到INT1而不是INT2,我能够使它工作。通过这种方式,我可以获得唤醒和FIFO阈值的单独中断。
以上来自于谷歌翻译 以下为原文 I was able to make it work for me by sending the FTH interrupt to INT1 instead of INT2. In this way I get separate interrupts for Wakeup and for FIFO threshold. |
|
|
|
|
|
你是对的,0x0A = 0x24表示旁路到连续模式。
必须使用MD2_CFG的INT2_WU位配置唤醒事件检测,因此唤醒信号将始终存在于INT2引脚上。 以上来自于谷歌翻译 以下为原文 You are right, 0x0A = 0x24 means Bypass-to-Continuous mode. The wake-up event detection has to be configured using INT2_WU bit of the MD2_CFG, so the wake-up signal will be always present on the INT2 pin. |
|
|
|
|
只有小组成员才能发言,加入小组>>
stm32mp157的异核通信的rpmsg_sdb的m4固件和a7驱动该如何编写?
1453 浏览 0 评论
stm32f103用freertos对一个采样率为1kHz的传感器,进行采样,数据出差
1502 浏览 0 评论
请教:在使用UDE STK时,单片机使用SPC560D30L1,在配置文件怎么设置或选择?里面只有SPC560D40的选项
3649 浏览 1 评论
3842 浏览 1 评论
请问是否有通过UART连接的两个微处理器之间实现双向值交换的方法?
2461 浏览 1 评论
STM32H7打开DCache后,出现了串口接收信息为空的现象,是哪里出了问题?
727浏览 5评论
用NANO STM32F103RBT6的开发板烧录不了是哪里出了问题?
663浏览 5评论
710浏览 5评论
外部中断触发类型为双边沿触发,进入中断回调后有什么办法判断该边沿是上升沿还是下降沿?
941浏览 5评论
STM32L071CBT6低温环境下无法正常工作是什么原因引起的?
745浏览 5评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-2 11:06 , Processed in 0.745453 second(s), Total 51, Slave 44 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
482