思路:我使用的esp32开发板为简易的开发板,因为板上没有用户自己定义的键盘所以在使用中想要输入或者控制无法完成。研究发现在开发板上有的下载按钮是不是可以在进入系统后复用为一个按键呢。
实现:参考官方的例程对代码如下
首先宏定义参数:#define KYE_0 0 //GPIO0检测
#define KEYS_SET (1ULL<<0) //GPIO位掩码
#define ESP_INTR_FLAG_DEFAULT 1 //中断标志
static xQueueHandle gpio_evt_queue =NULL; //消息队列
中断服务函数static void IRAM_ATTR gpio_isr_handler(void* arg) //IRAM_ATTR 必须
{
uint32_t gpio_num = (uint32_t) arg; //获取传过来的IO号
xQueueSendFromISR(gpio_evt_queue, &gpio_num, NULL); //发送消息
}
IO配置gpio_config_t key_conf;
key_conf.mode=GPIO_MODE_INPUT; //输入模式
key_conf.intr_type=GPIO_INTR_POSEDGE; //上向沿
key_conf.pin_bit_mask=KEYS_SET; //前面宏定义的掩码位
key_conf.pull_down_en=0; //不下拉
key_conf.pull_up_en