This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] TM4C1294NCPDT:Tiva 在一个端口(端口 D)上有 2 个 IRQ 不同处理程序

Guru**** 2536790 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1554627/tm4c1294ncpdt-can-a-tiva-have-2-irq-different-handlers-on-one-port-port-d

器件型号:TM4C1294NCPDT


工具/软件:

我当前正在 PD6 上使用 IRQ、如果 PD6 上的信号发生变化、它将产生中断并调用中断处理程序、一切正常运行。   我想使引脚 PD4 成为一个 IRQ、并可能为每个 PD6 和 PD4 调用不同的处理程序。  

是否可以让每个 PD6 和 PD4 都拥有自己的 IRQ 处理程序?

我认为下面的代码不起作用、因为我不能在一个端口对接上有两个不同的 IRQ 处理程序、这是我想做什么的想法。   

我该如何操作?


unsigned long 端口= GPIO_PORTD_BASE;
Hwi_Handle myHwi;
Hwi_Params hwiParams;
Error_Block EB;

//在引脚 D6 上配置 IRQ
GPIOIntEnable (PORT、PIN_PD6);
GPIOIntTypeSet (PORT、PIN_PD6、GPIO_HIGH_LEVEL);
ERROR_INIT (&EB);
Hwi_Params_初始化 (&hwiParams);
hwiParams.arg = 10;//传递参数 10。
hwiParams.enableInt = true;//启用 IRQ
myHwi = Hwi_create (INT_GPIOD_TM4C129、portD_IntHandler_PD6、&hwiParams、&EB);
if (NULL == myHwi)

printf(“在引脚 D6\n“、INT_GPIOD_TM4C129 上安装 IRQ %d 时出错);
}

//在引脚 D4 上配置 IRQ
GPIOIntEnable (PORT、PIN_PD4);
GPIOIntTypeSet (PORT、PIN_PD4、GPIO_RISING_EDGE);
ERROR_INIT (&EB);
Hwi_Params_初始化 (&hwiParams);
hwiParams.arg = 10;//传递函数一个参数 10。
hwiParams.enableInt = true;//启用 IRQ
myHwi = Hwi_create (INT_GPIOD_TM4C129、portD_IntHandler_PD4、&hwiParams、&EB);
if (NULL == myHwi)

printf(“在 FPGA IRQ 的端口 D 上安装 IRQ %d 时出错\n“、INT_GPIOD_TM4C129);
}

谢谢、

Doug

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引述 userid=“51915" url="“ url="~“~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1554627/tm4c1294ncpdt-can-a-tiva-have-2-irq-different-handlers-on-one-port-port-d

    是否可以让每个 PD6 和 PD4 都拥有自己的 IRQ 处理程序?

    [/报价]

    尊敬的 Doug:

     PDx 无法这样做、因为端口 D 中的所有位都共享相同的 IRQ。 如果您想为各个引脚提供精子 IRQ、则需要使用端口 P 或端口 Q。 有关详细信息、请参阅 startup 文件。 以下是中断矢量表的一个片段、您会发现 PortP 和 PortQ 可在引脚级别支持单个 IRQ。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我以为我能忍住的,可是我完全错了。“   

    谢谢、

    Doug