- 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);
 
 
- }
 
读取就是把原有的函数全部注释,然后我们直接加上我们的函数即可。
 
仿真可以直接看到读数的,后面我们还可以利用这块段码屏进行一个显示操作。
 
硬件接线图,可以看到两边还用排针进行了引出,非常的方便。
运行效果:
