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.

[参考译文] CC3220SF-LAUNCHXL:未触发 GPIO 中断

Guru**** 633810 points
Other Parts Discussed in Thread: CC3220SF, CC3220S, CC3220R, CC3220SF-LAUNCHXL
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/1136902/cc3220sf-launchxl-gpio-interrupt-is-not-getting-triggered

器件型号:CC3220SF-LAUNCHXL
主题中讨论的其他器件:CC3220SFCC3220SCC3220R

您好!

我正在尝试在 P45/GPIO_31上使用 GPIO 中断。 为了触发中断、我在 C2000上使用了一个外部 GPIO、该 GPIO 在每5秒后变为高电平、然后返回低电平、如下图所示-  

P45上输入 GPIO 中断的配置如下所示-  

void slaveTempReadyFxn(uint_least8_t index)
{
        dbg_flag++;
}



void *testThread(void *arg0)
{
    int         retc;
    int32_t             msgqRetVal;

    SPI_Params      spiParams;
    SPI_Transaction transaction;


    GPIO_setConfig(CONFIG_SPI_MASTER_READY, GPIO_CFG_OUTPUT | GPIO_CFG_OUT_LOW);
    GPIO_setConfig(CONFIG_SPI_SLAVE_READY, GPIO_CFG_INPUT);
    GPIO_setConfig(CONFIG_SPI_SLAVE_TEMP_READY, GPIO_CFG_INPUT);


    /*
     * Handshake - Set CONFIG_SPI_MASTER_READY high to indicate master is ready
     * to run.  Wait CONFIG_SPI_SLAVE_READY to be high.
     */
    GPIO_write(CONFIG_SPI_MASTER_READY, 1);
    while (GPIO_read(CONFIG_SPI_SLAVE_READY) == 0) {}

    /* Handshake complete; now configure interrupt on CONFIG_SPI_SLAVE_READY */
    GPIO_setConfig(CONFIG_SPI_SLAVE_READY, GPIO_CFG_IN_PU | GPIO_CFG_IN_INT_FALLING);
    GPIO_setCallback(CONFIG_SPI_SLAVE_READY, slaveReadyFxn);
    GPIO_enableInt(CONFIG_SPI_SLAVE_READY);

    GPIO_setConfig(CONFIG_SPI_SLAVE_TEMP_READY, GPIO_CFG_IN_PU | GPIO_CFG_IN_INT_FALLING);
    GPIO_setCallback(CONFIG_SPI_SLAVE_TEMP_READY, slaveTempReadyFxn);
    GPIO_enableInt(CONFIG_SPI_SLAVE_TEMP_READY);

    /* Open SPI as master (default) */
    SPI_Params_init(&spiParams);
    spiParams.frameFormat = SPI_POL0_PHA0;
    spiParams.transferMode= SPI_MODE_BLOCKING;
    spiParams.bitRate = 1000000;
    spiParams.dataSize = 16;
    masterSpi = SPI_open(CONFIG_SPI_MASTER, &spiParams);
    if (masterSpi == NULL) {
       // Display_printf(display, 0, 0, "Error initializing master SPI\n");
        while (1);
    }
    
    
    /*Some Other Code*/

}

另一个引脚 P50/30上的中断工作正常、但它完全不能与 P45一起工作。  我还将使用 SPI 与外部 MCU 通信、并将其用于网络、用于显示的 UART 和 XDS、如下所示-

有人能帮助解决这里的问题吗?

谢谢你。  

此致、

Kuldeep

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

    Kuldeep、您好!

    您是否使用 CC3220SF LaunchPad? 如果是、您将看到 P45由于未组装 R42而无法用作 GPIO。 更多详细信息、请参阅 LaunchPad 原理图

    在 CC3220SF 芯片上、引脚45不能用作 GPIO。 CC3220S 和 CC3220R 可在 GPIO 上使用、但在特殊条件下使用。

    1月

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

    您好、Jan、

    感谢您的宝贵意见。 是的、这是 CC3220SF-Launchxl。

    我启用了其他引脚并正常工作。

    此外、我还不确定我们是否可以使用与 BoosterPack 搭配使用的引脚? 例如  

    谢谢你。

    此致、

    Kuldeep

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

    Kuldeep、您好!

    P62_GPIO_07应在 CC3220SF LaunchPad 上作为 GPIO 正常工作。

    1月

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

    您好、Jan、

    好的、谢谢  

    此致、

    Kuldeep