我的意思是,你必须在正常操作期间足够快地读取数据(以下为原文
Sure, you should wait the turn-on time after you set the ODR.
I mean, you have to read the data fast enough (<1ms) during normal operation to see the DRDY signal is cleared.
完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
嗨,
我正在使用H3LIS331DL传感器。我的配置如下 1传感器上的电源配置控制寄存器1具有正常功率模式和数据速率1000hz配置中断源1用于数据就绪中断GPIO回调注册数据就绪中断。这种情况工作正常。我们在获得数据就绪中断后进行采样。 我有一些特殊情况,我面临一些问题。 如果由于某些其他寄存器配置示例配置控制寄存器4而在步骤2和步骤3中存在一些延迟(在步骤2和3之间),我没有得到数据就绪中断。这是一个问题。 如果通过读取数据超过3毫秒延迟清除数据就绪中断,则下一个数据就绪中断未触发,如果获得数据就绪中断,则下一步是在步骤4之后。 你能帮助我吗?是否需要遵循顺序? 或者上述两个问题可能是什么原因。 提前致谢。 带着敬意, Thangaraj.P 以上来自于谷歌翻译 以下为原文 Hi, I am working with H3LIS331DL sensor . my configuration is as follows
I have some special cases where i am facing some issues. if there is some delay in step 2 and step 3 due to some other register configuration example configuring the control register 4 then (in between step 2 and 3)i am not getting the data ready interrupt. This is one issue. Next one is after step 4 if get data ready interrupt in case if i delayed to clear the data ready interrupt by reading the data for more than 3 msec then next data ready interrupt is not triggering. could you help me is there is sequence needs to be followed? or what could be the reason for the above 2 issues. thanks in advance. with Regards, Thangaraj.P |
|
相关推荐
20个回答
|
|
|
|
|
|
我只有LIS33DE的经验。
愚蠢的问题。您是否明确启用了CTRL_REG1(20h)Xen-Zen位。你还没有提到它。对于您的情况,寄存器值应为0x2F。 以上来自于谷歌翻译 以下为原文 I have only experience with LIS33DE. Stupid question. Have you explicitly enabled the CTRL_REG1 (20h) Xen-Zen bits. You have not mentioned it. For your case the register value should be 0x2F. |
|
|
|
请共享所有寄存器值 - 尤其是中断的值。 OR / AND检查LIR1,LIR2位等
以上来自于谷歌翻译 以下为原文 Please share all register values - especially those for interrupts. OR/AND check LIR1, LIR2 bits, etc |
|
|
|
嗨,
谢谢你的回应。 对于此传感器,否则CTRL_REG1地址为20h。我没有明确启用。 i读取寄存器并仅更新电源模式和数据速率位,然后我将再次写入。 以上来自于谷歌翻译 以下为原文 Hi , Thanks for your reponse. No for this sensor also CTRL_REG1 address is 20h. I have not explicitly enabled. i Read the register and update only power mode and data rate bits then i will write again. |
|
|
|
1.你为什么再次更新CTRL_REG1 agian的原因?
2.你最初在CTRL_REG1中放入了什么? 3.如何配置中断寄存器? --------------------- 如果没有完整的信息配置,很难对其进行分析 以上来自于谷歌翻译 以下为原文 1. Any reason why you update the CTRL_REG1 agian and again? 2. What you put in CTRL_REG1 initially? 3. How the interrupt register are configured? --------------------- Its is difficult to analyse it without full information what is configured |
|
|
|
1.我需要每5分钟采样一次加速数据。因此,传感器上电将配置样品,然后我将关闭电源。基本上我想省电。
2. CTRL_REG1最初为0x07。 我的序列如下电源上的Senosr CTRL_REG1(20h)配置了0x3FCTRL_REG4(23h)的值配置为0x80CTRL_REG3 [中断CTRL寄存器](22h)的值配置为0x02的值为其本身我得到了日期准备中断2毫秒根据1 / ODR + 1msec用于ODR1000hz作为数据表读取数据并等待下一个数据就绪中断现在没有生成数据就绪中断未触及的数据就绪寄存器。它仅在默认值中。 如上所述,LIR1和LIR2的默认值为零。 如果我删除第4步,那么事情就好了。 如果您需要更多输入,请告诉我。 谢谢 以上来自于谷歌翻译 以下为原文 1. i need to sample accel data every 5 mins. so will power on the sensor configure sample then i will power off. Basically i want to save the power. 2. CTRL_REG1 initially 0x07. my sequence as follows
As i mentioned above the LIR1 and LIR2 are defaults values as zero. If i remove the step 4 then things are working fine. Please let me know if u need any more inputs. thanks |
|
|
|
我会尝试清除LIR1 - CTRL_REG3 [中断CTRL寄存器](22h)= 0x00
以上来自于谷歌翻译 以下为原文 I would try to clear LIR1 - CTRL_REG3 [interrupt CTRL register] (22h) = 0x00 |
|
|
|
嗨,
对不起..我没有得到你的意思'我会尝试清除LIR1 - CTRL_REG3 [中断CTRL寄存器](22h)= 0x00' 你要我检查一下吗? 以上来自于谷歌翻译 以下为原文 Hi, sorry..i didnt get what you mean by 'I would try to clear LIR1 - CTRL_REG3 [interrupt CTRL register] (22h) = 0x00' are you asking me to check this ? |
|
|
|
我现在没有这个传感器 - 我正在考虑将CTRL_REG3设置为0x00而不是0x02。
以上来自于谷歌翻译 以下为原文 I do not have this sensor now - I was thinking about setuping the CTRL_REG3 with a value of 0x00 instead of 0x02. |
|
|
|
CTRL_REG3配置为0x02到INT1焊盘上的数据就绪中断
我测试了0x00。然后不生成数据就绪中断。 我们是否需要在INT_1 Pad上配置寄存器30,32和33以进行数据就绪中断? 请提供您的反馈。 截至目前,它对我来说是个阻塞问题。 谢谢 -thangaraj 以上来自于谷歌翻译 以下为原文 CTRL_REG3 configured as 0x02 to data ready interrupt on INT1 pad I tested with 0x00. Then data ready interrupt is not generated. Do we need to configure the register 30, 32 and 33 for data ready interrupt on INT_1 Pad? kindly provide your feedback. As of now its a blocking issue for me. Thanks -thangaraj |
|
|
|
你是对的。我在考虑已经清除的LIR1位。抱歉。
我会尝试找到这个传感器并自己测试一下。 以上来自于谷歌翻译 以下为原文 Yes, you are right. I was thinking about LIR1 bit which is already cleared. Sorry. I will try find this sensor and test it myself. |
|
|
|
|
|
|
|
它是一个用户论坛,而不是ST工程支持。
一旦我得到这个传感器并有时间我会回来。 以上来自于谷歌翻译 以下为原文 It a user forum, not ST engineering support. Once I get this sensor and have time I'll be back. |
|
|
|
看起来像ST员工回答的一些问题。请ST的任何人都可以支持。
以上来自于谷歌翻译 以下为原文 Looks like some the queries answered by ST employees. Please any one from ST can support on this. |
|
|
|
根据数据手册,我们在CTRL_REG1中配置ODR后给出了2毫秒的开启时间(1 / ODR + 1毫秒),我们在CTRL_REG1之后配置了CTRL_REG4,这需要大约500 us用于SPI事务。
现在它的说法是“如果你将ODR配置为1000Hz,你必须在不到1ms的时间内读取数据”,并按照ODR延迟开启时间的要求。 以上来自于谷歌翻译 以下为原文 As per the data sheet we are giving 2 msec turn on time (1/ODR+ 1msec) after configuring ODR in CTRL_REG1 as well we configured CTRL_REG4 after CTRL_REG1 which took some 500 us for the SPI transaction. Now its conflicting the statement ' If you configure the ODR to 1000Hz you have to read data within less than 1ms' and delay requirement for turn on time as per ODR. |
|
|
|
当然,您应该在设置ODR后等待开启时间。
我的意思是,你必须在正常操作期间足够快地读取数据(以下为原文 Sure, you should wait the turn-on time after you set the ODR. I mean, you have to read the data fast enough (<1ms) during normal operation to see the DRDY signal is cleared. |
|
|
|
好的。谢谢你的回复。
根据我的原始问题,如果我没有配置CTRL_REG4 step2和step3,那么我将获得数据就绪中断。那么mcu怎么可能成为问题。 以上来自于谷歌翻译 以下为原文 Ok.Thanks for the response. As per my original question if i have not configured CTRL_REG4 step2 and step3 then i am getting the data ready interrupt. then how mcu could be the issue. |
|
|
|
你好Miroslav,
在我们读取数据寄存器之后,INT1引脚也是高电平事件。这就是为什么不生成下一个数据就绪中断的原因。 基本上在配置传感器后,我们得到数据就绪中断,然后读取数据寄存器,但INT1引脚未被清除。 请提供您的建议,任何传感器设置都需要注意。 以上来自于谷歌翻译 以下为原文 Hi Miroslav, The INT1 Pin is high event after we read the data register also. that's why next data ready interrupt is not generated. Basically after configuring the sensor we are getting data ready interrupt then reading the data register but the INT1 Pin is not cleared. Please provide your suggestion any sensor settings needs to be taken care. |
|
|
|
只需设置两个寄存器即可实现此功能。
CTRL_REG1 = 0x3F CTRL_REG3 = 0x02 沟通应如下所示: 我想你读的数据太慢了,所以新的数据比你读所有的寄存器更早,或者你没有读取所有的输出寄存器,所以DRDY没有被清除。请检查您与示波器或逻辑分析仪的通信,并最终与我分享。 您还可以尝试减少ODR。 以上来自于谷歌翻译 以下为原文 Only setting of two registers is needed to make this functional. CTRL_REG1 = 0x3F CTRL_REG3 = 0x02 The communication should look like this: I suppose you are reading the data too slowly, so new data are available earlier than you read all registers or you are not reading all output registers so the DRDY is not cleared. Please check you communication with scope or logic analyzer and eventually share it with me. You can also try to reduce the the ODR. |
|
|
|
只有小组成员才能发言,加入小组>>
请教:在使用UDE STK时,单片机使用SPC560D30L1,在配置文件怎么设置或选择?里面只有SPC560D40的选项
2461 浏览 1 评论
3160 浏览 1 评论
请问是否有通过UART连接的两个微处理器之间实现双向值交换的方法?
1727 浏览 1 评论
3547 浏览 6 评论
5907 浏览 21 评论
885浏览 4评论
1263浏览 4评论
在Linux上安装Atollic TRUEStudio的步骤有哪些呢?
529浏览 3评论
使用DMA激活某些外设会以导致外设无法工作的方式生成代码是怎么回事
1247浏览 3评论
1300浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-10-2 20:51 , Processed in 1.320457 second(s), Total 117, Slave 100 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号