概述
请先看上一篇,GPIO输出,有比较详细的介绍,再看这一篇。
1、GPIO输入配置
1.1、选择IO口为GPIO功能
PIN_FUNC_SELECT(PERIPHS_IO_MUX_GPIO0_U,FUNC_GPIO0); //GPIO0,按键
1.2、设置为输入模式
GPIO_DIS_OUTPUT(GPIO_ID_PIN(0)); //失能输出,即IO口为输入
配置是否使用内部上拉
PIN_PULLUP_DIS(PERIPHS_IO_MUX_GPIO0_U); //不使用内部上拉
PIN_PULLUP_EN(PERIPHS_IO_MUX_GPIO0_U); //使用内部上拉
1.3、用下面的宏读取IO口的状态
key = GPIO_INPUT_GET(GPIO_ID_PIN(0)); //获取GPIO0的状态
2、代码
将LED(GPIO4)设为输出模式作为指示,while中检测按键是否按下,按下LED亮,松开LED不亮。
按键有外部上拉,使用不使用内部上拉都行。
void ICACHE_FLASH_ATTR user_init(void) //用户初始化函数
{
uint8 key = 0;
PIN_FUNC_SELECT(PERIPHS_IO_MUX_GPIO4_U,FUNC_GPIO4); //GPIO4,LED
GPIO_OUTPUT_SET(GPIO_ID_PIN(4),1); //初始化后默认不亮
PIN_FUNC_SELECT(PERIPHS_IO_MUX_GPIO0_U,FUNC_GPIO0); //GPIO0,按键
GPIO_DIS_OUTPUT(GPIO_ID_PIN(0)); //失能输出,即IO口为输入
PIN_PULLUP_DIS(PERIPHS_IO_MUX_GPIO0_U); //不使用内部上拉
while(1){
key = GPIO_INPUT_GET(GPIO_ID_PIN(0)); //获取GPIO0的状态
if(key==0) //按下
GPIO_OUTPUT_SET(GPIO_ID_PIN(4),0); //亮
else
GPIO_OUTPUT_SET(GPIO_ID_PIN(4),1); //不亮
system_soft_wdt_feed();
}
}
最后
以上就是怡然白羊为你收集整理的学习ESP8266_9_GPIO输入的全部内容,希望文章能够帮你解决学习ESP8266_9_GPIO输入所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复