GPIO_INPUT_GET(gpio_no)
获取 gpio_no 管脚的电平状态。
实验
void ICACHE_FLASH_ATTR user_init(void)
{
uart_init(115200,115200); // 初始化串口波特率
os_delay_us(10000); // 等待串口稳定
os_printf("\r\n=================================================\r\n");
os_printf("\t Project:\t%s\r\n", ProjectName);
os_printf("\t SDK version:\t%s", system_get_sdk_version());
os_printf("\r\n=================================================\r\n");
// 初始化LED(注意【PIN_NAME】、【FUNC】、【gpio_no】不要混淆)
//-------------------------------------------------------------------------
PIN_FUNC_SELECT(PERIPHS_IO_MUX_GPIO4_U, FUNC_GPIO4); // GPIO_4设为IO口
GPIO_OUTPUT_SET(GPIO_ID_PIN(4),1); // GPIO_4 = 1
// 初始化按键(BOOT == GPIO0)
//----------------------------------------------------------------------------------
PIN_FUNC_SELECT(PERIPHS_IO_MUX_GPIO0_U, FUNC_GPIO0); // GPIO_0设为IO口
GPIO_DIS_OUTPUT(GPIO_ID_PIN(0)); // GPIO_0失能输出(默认)
PIN_PULLUP_DIS(PERIPHS_IO_MUX_GPIO0_U); // GPIO_0失能内部上拉(默认)
// PIN_PULLUP_EN(PERIPHS_IO_MUX_GPIO0_U); // GPIO_0使能内部上拉
while(1)
{
system_soft_wdt_feed(); // 喂狗,防止复位
if( GPIO_INPUT_GET(GPIO_ID_PIN(0)) == 0 ) // 读取GPIO_0电平
GPIO_OUTPUT_SET(GPIO_ID_PIN(4),0); // LED亮
else
GPIO_OUTPUT_SET(GPIO_ID_PIN(4),1); // LED灭
}
}