1、STM32CubeMX配置硬件IIC。
sht3x.c
#define __GLOBAL_SHT3X
#include "sht3x.h"
uint8_t SHT30_Send_Cmd(uint16_t cmd)
{
uint8_t cmd_buffer[2];
cmd_buffer[0] = cmd >> 8;
cmd_buffer[1] = cmd;
return HAL_I2C_Master_Transmit(&hi2c1, SHT30_ADDR_WRITE, (uint8_t*)cmd_buffer, 2, 0xFFFF);
}
//SHT35初始化;0-成功,其它-失败;
uint8_t SHT3X_Init(void)
{
return SHT30_Send_Cmd(SOFT_RESET_CMD);
}
/**
* @brief 从SHT30读取一次数据
* @param dat —— 存储读取数据的地址(6个字节数组)
* @retval 成功 —— 返回HAL_OK
*/
uint8_t SHT30_Read_Dat(uint8_t* dat)
{
SHT30_Send_Cmd(MEDIUM_ENABLED_CMD);
return HAL_I2C_Master_Receive(&hi2c1, SHT30_ADDR_READ, dat, 6, 0xFFFF);
}
//主程序定时调用
//读取 Measurement Results
void SHT3x_Read(void)
{
uint16_t temp=0,hum=0;
uint8_t SHT3X_Valu