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.

[参考译文] MSPM0C1104:如何设置 GPIO 并生成中断?

Guru**** 2546040 points
Other Parts Discussed in Thread: LP-MSPM0C1104

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1426344/mspm0c1104-how-to-setup-gpio-and-generate-interrupt

器件型号:MSPM0C1104

工具与软件:

标题相同、现在我要尝试捕获来自 PA22的中断

但如果我将上升沿输出到 PA22、我将找不到任何中断。

下面是我的代码,有任何专家可以给我一些建议. 非常感谢。

/* Defines for DC: GPIOA.22 with pinCMx 23 on package pin 22 */
#define BAMBOO_GPIO_DC_PIN                                     (DL_GPIO_PIN_22)
#define BAMBOO_GPIO_DC_IOMUX                                    (IOMUX_PINCM23)

/* Defines for LED_RED: GPIOA.2 with pinCMx 3 on package pin 8 */
#define BAMBOO_GPIO_LED_RED_PIN                                  (DL_GPIO_PIN_2)
#define BAMBOO_GPIO_LED_RED_IOMUX                                 (IOMUX_PINCM3)

int main(void)
{
    SYSCFG_DL_init();

// Sleep test...PK 20241017+
    // set DC to input...PK 20241017+
    DL_GPIO_enableGlobalFastWake(GPIOA);

    DL_GPIO_initDigitalInputFeatures(BAMBOO_GPIO_DC_IOMUX,
         DL_GPIO_INVERSION_DISABLE, DL_GPIO_RESISTOR_PULL_UP,
         DL_GPIO_HYSTERESIS_DISABLE, DL_GPIO_WAKEUP_ENABLE);

    DL_GPIO_setUpperPinsPolarity(GPIOA, DL_GPIO_PIN_22_EDGE_RISE_FALL);
    DL_GPIO_clearInterruptStatus(GPIOA, BAMBOO_GPIO_DC_PIN);
    DL_GPIO_enableInterrupt(GPIOA, BAMBOO_GPIO_DC_PIN);

    NVIC_EnableIRQ(GPIOA_INT_IRQn);

    DL_SYSCTL_setPowerPolicySTANDBY0();

    while(1){
        __WFI();
    }

}

void GPIOA_IRQHandler(void)
{
    /* If SW is high, turn the LED off */
    if (DL_GPIO_readPins(
            BAMBOO_GPIO_PORT, BAMBOO_GPIO_DC_PIN)) {
        DL_GPIO_setPins(BAMBOO_GPIO_PORT, BAMBOO_GPIO_LED_RED_PIN);
    }
    /* Otherwise, turn the LED on */
    else {
        DL_GPIO_clearPins(BAMBOO_GPIO_PORT, BAMBOO_GPIO_LED_RED_PIN);
    }
}

==============

Code Composer Studio 版本:12.80.00012

ICE:LP-MSPM0C1104版本 B

==============

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

    您好!

    我这边有个问题:

    1.如果下降沿正常?

    2.如何判断不进入中断? 我还没有看到输出 GPIO 的任何配置、它包含在 SYSCFG_DL_init ()中吗?

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

    1.如果下降沿正常?
    >>>下降沿仍无法生成中断。

    2.如何判断不进入中断? 我还没有看到输出 GPIO 的任何配置、它包含在 SYSCFG_DL_init ()中吗?

    >> A)我将在第38行设置一个断点。

    >>B)我将点亮或熄灭红色 LED、红色 LED 引脚在 SYSCFG_DL_init 处自动生成。 现在可以点亮和熄灭。

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

    您好!

    您能给我提供这个项目吗、我能从我这边复制一下吗?

    此致、

    Zoey

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

    Zoey、您好!

    很抱歉、我不确定是否可以共享源代码? 我需要先与客户讨论。
    BTW、您能告诉我如何设置可以检测上升沿或下降沿的 GPIO 吗

    或者可以参考哪个示例代码?

    非常感谢

    王子

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

    您好!

    请让客户在 SDK 中使用我们的演示代码、其中有 GPIO 输入代码。

    此致、

    Zoey