完善资料让更多小伙伴认识你,还能领取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的选项
2742 浏览 1 评论
3244 浏览 1 评论
请问是否有通过UART连接的两个微处理器之间实现双向值交换的方法?
1813 浏览 1 评论
3655 浏览 6 评论
6044 浏览 21 评论
1342浏览 4评论
203浏览 3评论
对H747I-DISCO写程序时将CN2的st-link复用为usart1,再次烧录时无法检测到stlink怎么解决?
356浏览 2评论
STM32G474RE芯片只是串口发个数据就发烫严重是怎么回事?
446浏览 2评论
STM32处理增量式编码器Z信号如何判断中断是正转的还是反向转的?
275浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-28 04:27 , Processed in 1.129342 second(s), Total 78, Slave 61 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号