以下代码为使用I2C库函数读取HTU21D温度数据的例程。

ret=HAL_I2C_Mem_Read(&hi2c1,0x80,0xf3,I2C_MEMADD_SIZE_8BIT,rx_buf,2,2000);

if(ret == HAL_OK)
{
rx_buf[1] &= 0xfc;
temp = rx_buf[0];
temp *= 256;    //wendu <<=8;
temp += rx_buf[1];
temp *= 17572;
temp /= 65536;
temp -= 4685;   //保留两位小数
temp /=10;
result = (int16_t)temp;
printf("temperature=%d\r",result);
}
else
{
printf("ret=%d\r",ret);

}

直接使用HAL_I2C_Mem_Read函数会有错误出现,需要对其进行修改。根据HTU21D读转换数据时,在发送读取命令之前,需要延迟一段时间,等待转换完成。而库函数没有设定等待时间。在I2C_RequestMemoryRead函数中,/* Generate Restart */注释之前添加 HAL_Delay(85)即可。

STM32 I2C HAL库读取HTU21D相关推荐

  1. 【STM32】HAL库 STM32CubeMX教程十二---IIC(读取AT24C02 )

    前言: 本系列教程将HAL库与STM32CubeMX结合在一起讲解,使您可以更快速的学会各个模块的使用 在之前的标准库中,STM32的硬件IIC非常复杂,更重要的是它并不稳定,所以都不推荐使用. 但是 ...

  2. STM32系列(HAL库)——F103C8T6通过MFRC522、RFID射频卡、门禁卡模块读取卡片ID(二)

    本文继上一篇:STM32系列(HAL库)--F103C8T6通过MFRC522.RFID射频卡.门禁卡模块读取卡片ID 本文介绍在运用RC522模块时,运用链表结构存储数据的操作 Let's go! ...

  3. stm32 ADC hal库实现

    stm32 ADC hal库实现 1.ADC的作用 (1)简介: ADC(Analog-to-Digital Converter),即模拟-数字转换器,可以将连续变化的模拟信号转换为离散的数字信号,进 ...

  4. STM32使用HAL库编写SHT2x温湿度传感器驱动

    温湿度传感器在嵌入式开发中应用场景非常多.本文主要利用STM32及HAL库完成SHT2x温湿度传感器温湿度值得读取及将值通过串口打印出来. 一.SHT20芯片芯片介绍 1.官方收据手册可以该网站下载: ...

  5. 【STM32】HAL库 STM32CubeMX教程十五---FMC-SDRAM(二)

    前言: 本系列教程将HAL库与STM32CubeMX结合在一起讲解,使您可以更快速的学会各个模块的使用 上一讲我们说了CubeMX配置SDRAM的一些基本配置,还有FMC跟SDRAM的讲解,这一讲我们 ...

  6. 【STM32】HAL库 STM32CubeMX教程十五---FMC-SDRAM(一)

    前言: 本系列教程将HAL库与STM32CubeMX结合在一起讲解,使您可以更快速的学会各个模块的使用 本文 1首先讲解什么是FMC及SDRAM,W9825G6KH芯片原理,2基于CubeMx创建工程 ...

  7. 【STM32】HAL库 STM32CubeMX教程十四---SPI

    前言: 本系列教程将HAL库与STM32CubeMX结合在一起讲解,使您可以更快速的学会各个模块的使用 在我们的HAL库中,对硬件SPI函数做了很好的集成,使得之前SPI几百行代码,在HAL库中,只需 ...

  8. 【STM32】HAL库 STM32CubeMX教程十一---DMA (串口DMA发送接收)

    前言: 本系列教程将 对应外设原理,HAL库与STM32CubeMX结合在一起讲解,使您可以更快速的学会各个模块的使用 所用工具: 1.芯片: STM32F407ZET6/ STM32F103ZET6 ...

  9. 【STM32】HAL库 STM32CubeMX教程九---ADC

    前言: 本系列教程将 对应外设原理,HAL库与STM32CubeMX结合在一起讲解,使您可以更快速的学会各个模块的使用 所用工具: 1.芯片: STM32F407ZET6/ STM32F103ZET6 ...

最新文章

  1. 干货 | 收藏!16段代码入门Python循环语句
  2. 菜鸟进阶: C++实现KNN文本分类算法
  3. cvMinMaxLoc函数实例
  4. docker如何将运行中的容器保存为docker镜像?
  5. flutter 开关Switch与复选框Checkbox
  6. 奇怪的车次,你信不信
  7. GB35114---基于pjsip协议库开发问题
  8. tkmybatis简单教程
  9. Android8.1 APK安装过程源码解析
  10. linux怎么进入raid管理,如何在Linux中管理RAID控制器
  11. pose_subscriber.cpp
  12. excel中删除重复数据
  13. openssl官网-下载安装过程
  14. 人工智能教学中的功利文化视野
  15. 四十四、​Fluent 收敛标准-质量和能量守恒
  16. 【笔记】Spring Security Oauth2-请求方式无法获取token
  17. 从外包到拿下阿里 offer,这 2 年 5 个月 13 天到底发生了什么?
  18. 海尔电视显示连接不上服务器,海尔电视怎么连接手机
  19. 算法题:10级台阶,一次一步或两步,打印所有的走法
  20. 自动驾驶基本理论——Ackerman公式

热门文章

  1. Webix - JavaScript UI 9.2.0
  2. 解决:http: TLS handshake error from *
  3. PLL为什么可以倍频
  4. cv2安装与基本函数
  5. RAD Studio Delphi 10.4 Sydney悉尼中最受欢迎的五个新功能
  6. 计算机毕业设计ssm高校求职招聘智能推荐1875f系统+程序+源码+lw+远程部署
  7. 学习运维——管理IPv6网络及高级网络配置
  8. 好不容易把HP的ACHI搞定了,也是看的别人的,先转帖出来,以防忘了!
  9. 银行业只是开始,60个可以被区块链改变的行业
  10. 修改Transmission登陆密码