完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
你好
我正在使用ST的LPS22HB评估板,并在压力突然下降时尝试产生中断。因此根据数据手册,这将是一个PLE事件(0x0B寄存器的第2位) 以下是我的注册设置 - reg 0x10 - 0x50 reg 0x12 - 0x03 reg 0x0B - 0x0A 我将阈值寄存器0x0C和0x0D设置为压力读数的当前值。我希望int引脚在创建外部低压事件后将状态从低电平变为高电平,但没有变化。甚至来自寄存器0x25的中断标志IA或PL也未置位。 现在为了确保我没有坏设备,我设置LPS22HB以产生高压事件的中断。所以我设置位PHE(0x0B寄存器中的第1位),并在创建高压事件时产生中断IS。所以一切都适用于高压事件中断。设置了寄存器0x25中的PH和IA标志。 reg 0x10 - 0x50 reg 0x12 - 0x03 reg 0x0B - 0x09 当我轮询寄存器0x28,0x29,0x30时的压力读数也是正确的。这只是低压中断事件不起作用。 不幸的是,我的产品最需要这个低压中断事件,如果无法修复LPS22HB将是不行的。 这对我来说似乎是个错误。 ST有没有人可以调查这个? 或者这个论坛中是否有人让这个工作? 以上来自于谷歌翻译 以下为原文 Hi I am working with the LPS22HB eval board from ST and trying to generate an interrupt when the pressure drops suddenly. So according to the data sheet this would be a PLE event (2nd bit of 0x0B register) Below are my register settings - reg 0x10 - 0x50 reg 0x12 - 0x03 reg 0x0B - 0x0A I set the threshold registers 0x0C and 0x0D to the current value of pressure reading. I would expect that the int pin to change state from low to high after creating an external low pressure event but there is no change. Even the interrupt flag IA or PL from reg 0x25 is not set. Now to make sure I did not have a bad device, I set the LPS22HB for generating an interrupt for a high pressure event. So I set bit PHE (1st bit in 0x0B reg) and the interrupt IS generated when I create a high pressure event. So everything works fine for a high pressure event interrupt. PH and IA Flag in reg 0x25 is set. reg 0x10 - 0x50 reg 0x12 - 0x03 reg 0x0B - 0x09 The pressure readings when I poll registers 0x28, 0x29, 0x30 are also correct. It is just the low pressure interrupt event the is not working. Unfortunately my product needs this low pressure interrupt event the most and LPS22HB would be a no-go if this cannot be fixed. This seems like a bug to me. Is there anyone from ST that could look into this? Or is there anyone in this forum who got this working? |
|
相关推荐
2个回答
|
|
覆盖MEMS的@ST社区(ST员工)?
以上来自于谷歌翻译 以下为原文 @ST Community (ST Employee) who is covering MEMS? |
|
|
|
似乎中断设置有点棘手。
请查看LPS22HB数据表中的第9.1章。 该中断仅在差分模式下工作,因此您必须使用AUTOZERO功能并根据实际压力调整阈值。 我认为在您输入AUTOZERO功能后还可以选择更改参考,这样您就不需要计算实际压力,只需设置参考值和阈值即可。 以上来自于谷歌翻译 以下为原文 It seems the interrupts settings is little bit tricky. Please check chapter 9.1 in the LPS22HB datasheet. The interrupt works only in differential mode so you will have to use the AUTOZERO function and adjust the threshold according to the actual pressure. I think there is also option to change the reference after you enter the AUTOZERO function so you don't need to count with actual pressure, you just set the reference and threshold. |
|
|
|
只有小组成员才能发言,加入小组>>
请教:在使用UDE STK时,单片机使用SPC560D30L1,在配置文件怎么设置或选择?里面只有SPC560D40的选项
1445 浏览 1 评论
2113 浏览 1 评论
请问是否有通过UART连接的两个微处理器之间实现双向值交换的方法?
1510 浏览 1 评论
2822 浏览 6 评论
5238 浏览 21 评论
361浏览 4评论
536浏览 4评论
在Linux上安装Atollic TRUEStudio的步骤有哪些呢?
278浏览 3评论
使用DMA激活某些外设会以导致外设无法工作的方式生成代码是怎么回事
604浏览 3评论
510浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-4-24 04:25 , Processed in 0.634620 second(s), Total 75, Slave 57 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号