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:使用 SSI 和 GPIO 边沿中断

Guru**** 2524460 points


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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1252939/tm4c1294ncpdt-using-ssi-and-gpio-edge-interrupt

器件型号:TM4C1294NCPDT

在配置 SSI 外设时、SSI 引脚(例如 DATA1/RX 引脚、我设计中的 PQ3)的 GPIO 边沿中断不能正常工作是否有任何原因?  数据表方框图似乎表明输入的 GPIO 外设绕过了备用功能外设 MUX (建议 GPIO 边沿检测至少应对输入起作用)。  但是、我很难让它正常工作。

如果你想知道为什么... 我将 SSI 用作一个16位(或更多)的 USART、因此需要控制 SSI 接收操作相对于输入字的初始下降沿的时序。

假设不起作用、我规划了一个权变措施、将 SSI 的替代功能禁用、直到检测到 GPIO 边沿为止。  不幸的是,我有一个严重的硬件崩溃,还没有得到维修。

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

    您好!

    在配置 SSI 外设时、是否存在任何原因导致 SSI 引脚的 GPIO 边沿中断(例如、我设计中的 DATA1/RX 引脚、PQ3)无法正常工作?  数据表方框图似乎表明输入的 GPIO 外设绕过了备用功能外设 MUX (建议 GPIO 边沿检测至少应对输入起作用)。  但是,我很难让它正常工作。

    您好!

     这是为 SSI 功能配置 GPIO 引脚的典型代码片段。 本示例使用 SSI0、但配置其他 SSI 模块的理念是相同的。 调用 GPIOPinConfigure()后,引脚(PA2、PA3、PA4、PA5) 将 不受 GPIO 模块的控制。 您无法再尝试检测边沿来产生中断。  

    //
    //在端口 A2、A3、A4和 A5上为 SSI0功能配置引脚多路复用。
    //
    GPIOPinConfigure (GPIO_PA2_SSI0CLK);
    GPIOPinConfigure (GPIO_PA3_SSI0FSS);
    GPIOPinConfigure (GPIO_PA4_SSI0XDAT0);
    GPIOPinConfigure (GPIO_PA5_SSI0XDAT1);


    //
    //配置 SSI 引脚的 GPIO 设置。 该函数还为
    //将这些引脚控制到 SSI 硬件。 请查阅数据表以
    //查看每个引脚分配的函数。
    //引脚分配如下:
    // PA5 - SSI0Tx (TM4C123x)/ SSI0XDAT1 (TM4C129x)
    // PA4 - SSI0Rx (TM4C123x)/ SSI0XDAT0 (TM4C129x)
    // PA3 - SSI0Fss
    // PA2 - SSI0CLK
    // TODO:将其更改为选择所使用的端口/引脚。
    //
    GPIOPinTypeSSI (GPIO_Porta_base、GPIO_PIN_5 | GPIO_PIN_4 | GPIO_PIN_3 |
    GPIO_PIN_2);

    [quote userid="201336" url="~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1252939/tm4c1294ncpdt-using-ssi-and-gpio-edge-interrupt 假设它不起作用、我规划了一个应急措施来禁用 SSI 的替代函数、直到检测到 GPIO 边沿。  不幸的是,我有一个严重的硬件崩溃,还没有得到该修复。[/报价]

    是的、应该可以。 也可以将 RX 输入路由到另一个专用 GPIO 输入、但会浪费一个引脚。