[STM32L4+]【STEVAL-STWINKT1B测评】传感器LPS22HH的使用

据ST官方LPS22HH的datasheet,LPS22HH是一款绝对压力传感器,可用作数字输出气压计。应用对象包 括但不限于:GPS设备,气象台设备,运动手表,四轴飞行器等等。

主要特性包括:测量范围是260至1260 hPa绝对压力;耗电上电流消耗低至4uA;精度是0.5hPa;低压传感器噪声为0.65Pa;自带温度补偿;数据输出是24位;ODR范围是1Hz至200Hz;与主机/MCU接口支持SPI、I2C或I3C;带有FIFO;供电电压范围是1.7V至3.6V。

不过在我们的STEVAL-STWINKT1B开发板上,LPS22HH与主控STM32L4R9ZIJ6是通过I2C连接,具体的是I2C2,可看原理图:
 



和前文一样fp-sns-datalog2也有这个传感器的驱动代码,位置也在Drivers/BSP/Components/目录下,最终的传感器数据读取也被包装在叫做BSP_ENV_SENSOR_GetValue()函数里,笔者这次还是想用原始的 接口,所以仍然从前文的STMems_Standard_C_drivers仓库拷贝代码:

把lps22hh_STdC/目录下的driver/lps22hh_reg.c driver/lps22hh_reg.h 和examples/lps22hh_read_data_polling.c拷贝到demo目录

修改lps22hh_read_data_polling.c的stts751_read_data_polling()函数:1.分成两大块,初始化和数 据读取;2.数据读取只读一次;3.修改stts751_read_data_polling.c的platform_write()和platform_read(),让它们用I2C2操作。


最后main函数的代码改成
 

复制

{ 

  HAL_Init();

  SystemClock_Config();

  SystemPower_Config();

  MX_USART2_UART_Init();

  MX_I2C2_Init();

  MX_GPIO_PE1_Init();



  hts221_init();

  printf("hts221 init done.\n");



  stts751_init();

  printf("stts751 init done.\n");



  lps22hh_init();

  printf("lps22hh init done.\n");



  while (1) {

    hts221_read_data_polling();

    stts751_read_data_polling();

    lps22hh_read_data_polling();

    HAL_Delay(1000);

  }



烧录测试

 


---------------------
作者:xhackerustc
链接:https://bbs.21ic.com/icview-3400938-1-1.html
来源:21ic.com
此文章已获得原创/原创奖标签,著作权归21ic所有,任何人未经允许禁止转载。 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值