用 STM32 CubeIDE 和 Blue Pill 板。 为了控制 main.c 的大小,我将函数组放到到几个 c/h 对文件中。 其中一对是 'myirqcallbacks.c/h”。目前,我在这个 c/h 对中有两个 UART IRQ 和一个外部引脚 IRQ 回调。 UART 工作正常,但 EXT IRQ 无法调用我定义的函数。会运行 stm32f1xx_hal_gpio.c 中 __weak函数。 当函数定义在 main.c 中时,运行就正常。 编译器似乎忽略 EXT IRQ 回调函数,而是调用 __weak。但是,可以看到其中的两个 UART 回调函数。 GPIO 和 UART IRQ 的结构有什么不同吗?
|