ST意法半导体
直播中

逯荣荣

8年用户 189经验值
私信 关注
[问答]

LPS22HB给出相同的值

嗨我使用LPS22HB和我的定制板基于STM32F777。我在读
LPS22HB使用与ST相同的驱动程序。我总是读相同的压力值,即1847.温度值也是不正确的,因为它非常小。这是LPS22HB_Init()的代码片段
/ *使LPS22HB重置并重启* /

如果(LPS22HB_SwResetAndMemoryBoot())
返回LPS22HB_ERROR;

pLPS22HBInit.PowerMode = LPS22HB_LowNoise;
pLPS22HBInit.OutputDataRate = LPS22HB_ODR_25HZ;
pLPS22HBInit.LowPassFilter = LPS22HB_DISABLE;
pLPS22HBInit.LPF_Cutoff = LPS22HB_ODR_9;
pLPS22HBInit.BDU = LPS22HB_BDU_NO_UPDATE;
pLPS22HBInit.IfAddInc = LPS22HB_ENABLE; //默认
pLPS22HBInit.Sim = LPS22HB_SPI_4_WIRE;

我也尝试过禁用IfAddInc并逐个读取寄存器。
你能帮帮我吗,我错过了什么。
最好的祝福,


#lps22hb

以上来自于谷歌翻译


以下为原文




Hi I am using  LPS22HB with my custom made board based on STM32F777. I am reading
LPS22HB using the same driver as ST is giving. I always read the same value of pressure i.e 1847. Temperature value is also incorrect as it is very small.  here is code snippet from the LPS22HB_Init()

/* Make LPS22HB Reset and Reboot */

if(LPS22HB_SwResetAndMemoryBoot())
return LPS22HB_ERROR;
  
pLPS22HBInit.PowerMode=LPS22HB_LowNoise;
pLPS22HBInit.OutputDataRate=LPS22HB_ODR_25HZ;
pLPS22HBInit.LowPassFilter=LPS22HB_DISABLE;
pLPS22HBInit.LPF_Cutoff=LPS22HB_ODR_9;
pLPS22HBInit.BDU=LPS22HB_BDU_NO_UPDATE;
pLPS22HBInit.IfAddInc=LPS22HB_ENABLE; //default
pLPS22HBInit.Sim= LPS22HB_SPI_4_WIRE;


I have also tried by  disabling IfAddInc and reading one by one register.

Could you please help me, what  am I missing.

Best Regards,



#lps22hb

回帖(2)

曾玲娟

2019-5-5 12:58:18
您能否详细告诉我您使用LPS22HB的驱动器的详细信息?

以上来自于谷歌翻译


以下为原文




Can you please give me more details exactly which driver for LPS22HB are you using?
举报

逯荣荣

2019-5-5 13:07:55
通过重新阅读
表11. SAD +读/写模式和一次初始化所有参数,我解决了问题。谢谢。

以上来自于谷歌翻译


以下为原文




By re-reading
Table 11. SAD+Read/Write patterns and initializing all parameters at once , I solved the problem. Thanks.
举报

更多回帖

发帖
×
20
完善资料,
赚取积分