// 假设我们要配置为上升沿触发,因此 GIC 层面选择 "边沿触发" (0x03)
// 优先级值越小,优先级越高。这里用0xA0作为示例。
// XPAR_FABRIC_AXI_GPIO_0_IP2INTC_IRPT_INTR 是PL GPIO中断连接到GIC的中断ID
XScuGic_SetPriorityTriggerType(&InterruptController,
XPAR_FABRIC_AXI_GPIO_0_IP2INTC_IRPT_INTR, // 请替换为你的中断ID
0xA0, // 示例优先级
0x03); // 边沿触发
Trigger 参数是关键。通过查阅资料和实际使用,我们了解到 Trigger 参数的低三位(Bit[2:0])定义了 GIC 层面上的触发类型:
0x01 (二进制 001): 电平触发 (Level-sensitive)
0x03 (二进制 011): 边沿触发 (Edge-triggered)
参考:https://zhuanlan.zhihu.com/p/1909773368003113466