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 回调方法运行2次

Guru**** 2558400 points
Other Parts Discussed in Thread: CC3220SF, SYSCONFIG

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

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/961329/compiler-cc3220sf-launchxl-gpio-callback-method-is-running-2-times

器件型号:CC3220SF-LAUNCHXL
Thread 中讨论的其他器件:CC3220SFSysConfig

工具/软件:TI C/C++编译器

你好

我仅在按下模式下使用 CC3220SF 的左侧硬件按钮。 当我按下按钮时、回调方法运行2次。  我是否应该进行额外设置、以便在按下按钮时获得一次回调方法? 如何解决?

谢谢

Abdulkadir。

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

    您好、Abdul、

    我不确定您是如何配置 GPIO 中断的。 您能否分享有关如何配置 GPIO 回调的 SysConfig 屏幕截图? 如果您未使用 SysConfig 配置共享您要用于设置的代码。  

    此外、您是否正确使用了 Launchpad?

    Jesu

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

    您好、Jesu;

    我正在尝试使用德州仪器的 GPIOInterrupt 示例。  

    我的代码和 SysConfig:

    GPIO_setConfig (CONFIG_GPIO_button_0、GPIO_CFG_IN_pu | GPIO_CFG_IN_INT_RISING);//GPIO_CFG_INT_INT_FALLING
    
    /*打开用户 LED */
    GPIO_WRITE (CONFIG_GPIO_LED_0、CONFIG_GPIO_LED_ON);
    
    //安装回调按钮*
    
    
    / GPIO_setIn_In_In_Int 0;GPIO_CONFIG_CONFIG_CONFIG0 (GPIO_ENABLET_ENABLE_0)
    ;/ENABLET_ENABLET_GPIO_ENABLET_ENABLET_INT_GPIO_REUT_0) 

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

    您好、Abdul、  

    您能否还包括您的回调代码? 是否在中断中禁用回调? 您可能会得到反弹。

    Jesu

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

    您好、Jesu;

    我不执行任何禁用操作。 如果我需要制作、这是我的解决方案。  

    我仅在回调方法中闪烁 LED。

    void gpioButtonFxn0 (uint_least8_t index)
    {
    /*切换 LED */
    GPIO_TOGGLE (CONFIG_GPIO_LED_0);
    } 

    感谢您的支持

    Abdulkadir

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

    我相信您正在处理一个简单的去除回弹问题。 这个问题在机械开关中很常见、有很多解决方案可以解决这个问题。 硬件和软件。  

    在 中断开始时尝试 GPIO_DisableInt (GPIO_PIN_NAME_您 是_使用)。 然后  

    GPIO_clearInt (GPIO_PIN_NAME_您 是_使用);
    GPIO_enableInt (GPIO_PIN_NAME_您 是_使用);

    在您退出中断后。 您可能需要使用信标或在代码中添加某种形式的 IPC。  

    Jesu