请问一个比较菜的问题:就是 示例“generic_gpio"中,中断打印问题

loveyond
Posts: 4
Joined: Fri May 20, 2022 1:02 am

请问一个比较菜的问题:就是 示例“generic_gpio"中,中断打印问题

Postby loveyond » Mon Jun 19, 2023 10:07 am

为什么上升沿中断时gpio4 gpio5都会打印,而下降沿中断时只打印gpio4?
其实我也不算嵌入式菜鸟了,但是这也让我有点困惑。

这是它的部分demo代码 :
static void IRAM_ATTR gpio_isr_handler(void* arg)
{
uint32_t gpio_num = (uint32_t) arg;
xQueueSendFromISR(gpio_evt_queue, &gpio_num, NULL);
}

static void gpio_task_example(void* arg)
{
uint32_t io_num;
for(;;) {
if(xQueueReceive(gpio_evt_queue, &io_num, portMAX_DELAY)) {
printf("GPIO[%"PRIu32"] intr, val: %d\n", io_num, gpio_get_level(io_num));
}
}
}
Attachments
微信截图_20230619180349.png
微信截图_20230619180349.png (5.83 KiB) Viewed 1274 times

ESP_WangYX
Posts: 95
Joined: Mon Jun 28, 2021 12:48 pm

Re: 请问一个比较菜的问题:就是 示例“generic_gpio"中,中断打印问题

Postby ESP_WangYX » Wed Jun 21, 2023 2:25 am

供参考的排查点:
1)配置 GPIO 成功了吗?
2)信号发送成功了吗?
我建议不要通过打印来验证中断,可以通过建立一个 GPIO 反转实验来验证中断的响应。

Who is online

Users browsing this forum: Baidu [Spider], Google [Bot] and 47 guests