嗨我使用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