1、测试介绍
本次使用NUCLEO-H533RE的I2C外设总线功能读取SHT21温湿度传感器的参数。实验除开发板外使用了SHT21温湿度传感器模块。该模块为瑞士Sensirion公司产品
测试通过UART端口将数据输出到PC主机
2、硬件配置
H533RE 开发板与SHT21 I2C连接
VCC 3.3 GND连接
H533RE PB6 I2C SCL <===> SHT21 SCL
H533RE PB7 I2C SDA <===> SHT21 SDA
3、参数配置
(1)系统时钟为外部24MHZ晶振,系统时钟为250M。
GPIO端口PB6和PB7,外设使用I2C1。通讯速率100K、7bit地址其它默认。
4、程序工作过程分析
(1) 使用SHT2x_Init(&hi2c1);函数将IIC设备句柄指定为I2C1
(2) SHT2x_SetResolution(RES_14_12);设置解析度
(3) 首先读取SHT2x_GetTemperature(1)K温度,后面的计算需要使用K温度作为补偿参数
/* Gets current temperature & relative humidity. */
float cel = SHT2x_GetTemperature(1);
/* Converts temperature to degrees Fahrenheit and Kelvin */
float fah = SHT2x_CelsiusToFahrenheit(cel);
float kel = SHT2x_CelsiusToKelvin(cel);
float rh = SHT2x_GetRelativeHumidity(1);
(4)打印个参数
5、测试过程
(1)将硬件连接完毕,检查是否正确!(十分重要,我有过烧毁元件的经历)
(2)打开串口终端软件,本软件为本人制作,EE可以下载
与SHT31传感器比较相差不大