- static uint8_t app_i2c_rx_buf[APP_I2C_BUF_LEN]; /* I2C rx buffer. */
- static uint8_t app_i2c_tx_buf[APP_I2C_BUF_LEN]; /* I2C tx buffer. */
- static I2C_MasterXfer_Type app_i2c_xfer;
- /*
- * Declerations.
- */
- void app_i2c_init(void);
- bool app_i2c_write(uint8_t txlen, uint8_t *txbuf);
- bool app_i2c_read(uint8_t rxlen, uint8_t *rxbuf);
- float TemValue,RhValue;
- void SHT20_ReadValues(void)
- {
- uint8_t tem[3],rh[3];
- uint16_t Tdata=0,RHdata=0;
- uint8_t cmd;
- cmd=SHT20_Trig_T;
- app_i2c_write(1,&cmd);
- delay_ms(100);
- app_i2c_read(3,tem);
- cmd=SHT20_Trig_RH;
- app_i2c_write(1,&cmd);
- delay_ms(100);
- app_i2c_read(3,rh);
- Tdata = tem[0];
- Tdata <<= 8;
- Tdata += tem[1] & 0xfe;
- RHdata = rh[0];
- RHdata <<= 8;
- RHdata += rh[1] & 0xfe;
- TemValue = Tdata * 175.72f / 65536 - 46.85f;
- RhValue = RHdata * 125.0f / 65536 - 6.0f;
- }
- void SHT20_SoftReset(void)
- {
- uint8_t cmd=0xfe;
- app_i2c_write(1,&cmd);
- delay_ms(100);
- // HAL_Delay(100);
- }
代码上我们按照基础的案例进行修改即可,主要就是读写函数,目前也都给你弄好了的。
读取就是把原有的函数全部注释,然后我们直接加上我们的函数即可。
仿真可以直接看到读数的,后面我们还可以利用这块段码屏进行一个显示操作。
硬件接线图,可以看到两边还用排针进行了引出,非常的方便。
运行效果: