ESP8266通过GPIO模拟时序与SHT进行通信,SDA使用GPIO12,SCL使用GPIO13
#define WIFI_LINK_LED_IO_MUX PERIPHS_IO_MUX_MTCK_U
#define WIFI_LINK_LED_IO_NUM 13
#define WIFI_LINK_LED_IO_FUNC FUNC_GPIO13
#define WIFI_LINK_LED_IO_BIT BIT13
#define SHT_SDA_IO_MUX PERIPHS_IO_MUX_MTDI_U
#define SHT_SDA_IO_NUM 12
#define SHT_SDA_IO_FUNC FUNC_GPIO12
#define SHT_SDA_IO_BIT BIT12
#define SHT_SCL_IO_MUX PERIPHS_IO_MUX_MTCK_U
#define SHT_SCL_IO_NUM 13
#define SHT_SCL_IO_FUNC FUNC_GPIO13
#define SHT_SCL_IO_BIT BIT13
#define SHTSDA_SET() gpio_output_set(SHT_SDA_IO_BIT, 0, SHT_SDA_IO_BIT, 0);
#define SHTSDA_CLR() gpio_output_set(0,SHT_SDA_IO_BIT, SHT_SDA_IO_BIT, 0);
#define SHTSCL_SET() gpio_output_set(SHT_SCL_IO_BIT, 0, SHT_SCL_IO_BIT, 0);
#define SHTSCL_CLR() gpio_output_set(0,SHT_SCL_IO_BIT, SHT_SCL_IO_BIT, 0);
#define SHTSDA_READ() (gpio_input_get()&SHT_SDA_IO_BIT)
#define SHT_DELAY() os_delay_us(50)
#define Delayus(t) os_delay_us(t)
#define Delayms(t) os_delay_us(t*1000)
void init_sht_gpio(void)
{
PIN_FUNC_SELECT(SHT_SDA_IO_MUX, SHT_SDA_IO_FUNC);
PIN_FUNC_SELECT(SHT_SCL_IO_MUX, SHT_SCL_IO_FUNC);
GPIO_REG_WRITE(GPIO_PIN_ADDR(GPIO_ID_PIN(SHT_SDA_IO_NUM)), GPIO_REG_READ(GPIO_PIN_ADDR(GPIO_ID_PIN(SHT_SDA_IO_NUM))) | GPIO_PIN_PAD_DRIVER_SE