完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
LPS25H气压计.pdf
(1.04 MB, 下载次数: 9
)
一、LPS25H参数 二、数据通信接口 标准的I2C/SPI接口 有两种很有用的功能 三、数据计算 相关代码 static PRESSURE_StatusTypeDef LPS25HB_GetPressure(float* pfData) { int32_t raw_press = 0; if(LPS25HB_I2C_ReadRawPressure(&raw_press) != PRESSURE_OK) { return PRESSURE_ERROR; } *pfData = (float)raw_press / 4096.0f; return PRESSURE_OK; } static PRESSURE_StatusTypeDef LPS25HB_GetTemperature(float *pfData) { int16_t raw_data; if(LPS25HB_I2C_ReadRawTemperature(&raw_data) != PRESSURE_OK) { return PRESSURE_ERROR; } *pfData = (float)((((float)raw_data / 480.0f) + 42.5f)); return PRESSURE_OK; } 在cannon对于 LPS25H 是这样读取的 juma_sensor.c->static void read_pressure(void* args) 调用x_nucleo_iks01a1074_pressure.c 对LPS25H 进行封装的BSP_PRESSURE的操作 实际上是调用 lps25hb.c 这样做的目的为了封装温度传感器这系列的产品,进行类的操作 typedef struct { PRESSURE_StatusTypeDef (*Init)(PRESSURE_InitTypeDef *); PRESSURE_StatusTypeDef (*PowerOff)(void); PRESSURE_StatusTypeDef (*ReadID)(uint8_t *); PRESSURE_StatusTypeDef (*Reset)(void); void (*ConfigIT)(uint16_t); void (*EnableIT)(uint8_t); void (*DisableIT)(uint8_t); uint8_t (*ITStatus)(uint16_t, uint16_t); void (*ClearIT)(uint16_t, uint16_t); PRESSURE_StatusTypeDef (*GetPressure)(float *); PRESSURE_StatusTypeDef (*GetTemperature)(float *); void (*SlaveAddrRemap)(uint8_t); PRESSURE_DrvExtTypeDef *extData; } PRESSURE_DrvTypeDef; PRESSURE_DrvTypeDef LPS25HBDrv = { LPS25HB_Init, LPS25HB_PowerOff, LPS25HB_ReadID, LPS25HB_RebootCmd, 0, 0, 0, 0, 0, LPS25HB_GetPressure, LPS25HB_GetTemperature, LPS25HB_SlaveAddrRemap, NULL }; |
|
相关推荐
|
|
只有小组成员才能发言,加入小组>>
10835 浏览 18 评论
8040 浏览 10 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-21 23:23 , Processed in 0.605946 second(s), Total 80, Slave 61 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号