Zhangyubiao 发表于 2024-10-25 15:48:40

GPIO 中断无法产生

static hal_irqreturn_t gpio_irq_test(void *data)
{
    printf("GPIO_PD18 IRQ \r\n");
   

    return 0;
}


void User_Program_thread(void *param)
{
   int i;
      uint32_t irq;
      int ret = 0;
      gpio_pin_t pin = GPIO_PD18;
      printf("pin: %d\r\n", pin);

      ret = hal_gpio_to_irq(pin, &irq);
      if (ret < 0)
            printf("gpio to irq error, irq num:%d error num: %d \r\n", irq, ret);
      else
            printf("Test hal_gpio_to_irq API success!\r\n");
      ret = hal_gpio_irq_request(irq, gpio_irq_test, IRQ_TYPE_EDGE_RISING, (void *)pin);
      if (ret < 0) {
                  printf("request irq error, irq num:%d error num: %d \r\n", irq, ret);
            
            } else {
                  printf("Test hal_gpio_irq_request API success! \r\n");
                        }

      ret = hal_gpio_irq_enable(irq);
      if (ret < 0) {
                  printf("request irq error, error num: %d \r\n", ret);
            } else {
                  printf("Test hal_gpio_irq_enable API success! \r\n");}
      ret = hal_gpio_to_irq(pin, &irq);
      if (ret < 0) {
                  printf("gpio to irq error, irq num:%d error num: %d \r\n", irq, ret);

            } else {
                  printf("Test hal_gpio_to_irq API success! \r\n");
            }

运行后串口输出如下:

pin: 114
Test hal_gpio_to_irq API success!

irq282 not belong to this chip,hwirq 89, mask=0x0

request irq error, irq num:282 error num: -1
Test hal_gpio_irq_enable API success!
Test hal_gpio_to_irq API success!

调用函数 ret = hal_gpio_to_irq(pin, &irq); 引出如下错误

irq282 not belong to this chip,hwirq 89, mask=0x0

是设置问题吗?



sys_config.fex 加了

GPIOD=1
GPIOE=1

GPIO 设置按要求改了



页: [1]
查看完整版本: GPIO 中断无法产生