I2C设备用的是一块HTU21D温湿度传感器
HTU21D 传感器模块指定的最优测量范围在 5%RH—95%RH
温度参数为
设备操作命令
设备的I2C读写时序图
温湿度换算公式
将传感器上电,电压为所选择的VDD 电源电压 (范围介于1.8 V 与3.6 V 之间)。上电
后,传感器最多需要15 毫秒时间(此时SCL 为高电平)以达到空闲状态,即做好准备接收
由主机(MCU)发送的命令。
我用的是STM32CubeMX,这个软件可以直接配置设备外设和程序初始化。
这是引脚配置
在STM32CubeMX直接生成代码。
主函数部分代码:
在Keil中编译程序,没有错误,把程序下载到板子上。
实际运行效果:
程序试验成功,不过STM32硬件I2C有bug(百度),我这里经常会发生读数错误。还是用IO模拟I2C较稳定。
参考博文:https://blog.csdn.net/toopoo/article/details/80053929