#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#include "driver/i2c_master.h"
i2c_master_bus_config_t bus_config = {
.clk_source = I2C_CLK_SRC_DEFAULT,
.i2c_port = I2C_NUM_0,
.scl_io_num = GPIO_NUM_9,
.sda_io_num = GPIO_NUM_8,
.glitch_ignore_cnt = 7,
.flags.enable_internal_pullup = true,
};
i2c_master_bus_handle_t bus_handle;
i2c_device_config_t sht30_config = {
.dev_addr_length = I2C_ADDR_BIT_7,
.device_address = 0x44,
.scl_speed_hz = 100 * 1000
};
i2c_master_dev_handle_t sht30_device;
uint8_t commands[] = {0x24, 0x00};
//对应数据手册中,没有时钟延伸的高重复性测量指令,单次测量
void app_main (void) {
i2c_new_master_bus(&bus_config, &bus_handle);
i2c_master_bus_add_device(bus_handle, &sht30_config, &sht30_device);
//进行正常的IIC总线与设备初始化
uint8_t read_buffer[6] = {};
float temperature;
float humidity;
//由于要精确到
08-12