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.

[参考译文] CCS/LAUNCHXL-CC1312R1:第一个上升沿触发的中断未生效

Guru**** 2952510 points

Other Parts Discussed in Thread: CC1310

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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/962535/ccs-launchxl-cc1312r1-the-first-rising-edge-triggered-interrupt-did-not-assert

器件型号:LAUNCHXL-CC1312R1
主题中讨论的其他器件:CC1310

工具/软件:Code Composer Studio

尊敬的先生:

配置文件:

硬件:我们具有 CC1312R1芯片的定制板

软件:TI simplelink_cc13x2_26x2_SDK_4_30_00_54 SDK 及一些补丁。 (SYSCFG 已冻结)

问题:

我遇到了一个在 cc1310上从未出现过的奇怪症状。

我为 DIP 开关输入配置了多个 GPIO。 我使它们都被触发。

但是、我始终错过了上电后的第一个上升沿中断。

(DIP 开关打开位置低;关闭位置高)

也就是说、如果 DIP 开关引脚初始位置处于开启状态、则无法捕捉到第一次 DIP 位置变化(即第一个中断)。

但是、只要下降沿触发在该引脚上发生、 就不会出现后续上升沿中断问题。

为什么? 如何调试此问题?

------

GPIO_PinConfig gpioPinConfigs[]={
…
/* CONFIG_GPIO_DIP0 */
GPIOCC26XX_DIO_01 | GPIO_CFG_IN_NOPULL | GPIO_CFG_IN_INT_INT_DUAL_FETS、
/* CONFIG_GPIO_DIP1 */
GPIOCC26XX_DIO_11 | GPIO_CFG_IN_NOPULL | GPIO_CFG_IN_INT_INT_DUAL_FETS、
/* CONFIG_GPIO_DIP2 */
GPIOCC26XX_DIO_12 | GPIO_CFG_IN_NOPULL | GPIO_CFG_IN_INT_INT_DUAL_FETS、
/* CONFIG_GPIO_DIP3 */
…………
/* CONFIG_GPIO_RLED:LaunchPad LED 红色*/
GPIOCC26XX_DIO_06 | GPIO_CFG_OUT_OD_NOPULL | GPIO_CFG_OUT_HIGH、
/* CONFIG_GPIO_GLED:LaunchPad LED 绿色*/
GPIOCC26XX_DIO_07 | GPIO_CFG_OUT_OD_NOPULL | GPIO_CFG_OUT_HIGH、
/* SPI 闪存从器件选择 GPIO 实例*/
GPIOCC26XX_DIO_20 | GPIO_CFG_OUT_STD | GPIO_CFG_OUT_STR_MED | GPIO_CFG_OUT_HIGH、
};

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

    尊敬的先生:

    为了避免任何定制电路板硬件问题、我在 CC1312R1 Launchpad 上进行了简单测试。

    我可以重现此问题。

    一些关键源代码、如下所示。 我在 DIO1和 GND 之间连接了一条跳线。

    上电后、我移除了 GND 端(即创建上升沿)、中断未置为有效、

    (我在回调'IP_DEBUG_CB'中设置一个断点。 未输入。)

    但是、如果初始条件断开(从 GND 断开 DIO1)、我可以捕获

    上电后连接跳线时的第一个中断(即下降沿)。  

    --------

    button_Params bparams;
    button_Params_init (&bparams);
    button_open (CONFIG_button_0、dip _debug_CB、&bparams);

    ///////////////////////////////////////////////////////////

    void dip _debug_CB (button_handle _buttonHandle、button_EventMask _buttonEvents)
    {
    Cui_statusLinePrintf (ssfCuiHnlf、sensorStatusLine、"buttonEvents =%x"、
    buttonEvents);
    }

    ///////////////////////////////////////////////////////////

    GPIO_PinConfig gpioPinConfigs[]={
    ::::
    /* CONFIG_GPIO_0 */
    GPIOCC26XX_DIO_01 | GPIO_CFG_IN_pu | GPIO_CFG_IN_INT_INT_INT_DUAL_FETS、

    }

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

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

    尊敬的 Adam:  

    您使用的是哪个项目、您对该项目进行了哪些更改? 您能否使用 SDK 中的默认项目重现此问题?

    谢谢、
    ELIN

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

    您好、Elin、

    在 以后在 cc1312 launchpad 上重现的过程中、我导入了显示为'ensor CC1312R1_LAUNCHXL_tirtos_ccs'的传感器项目

    在 CCS 中。

    我几乎没有修补、 通过 syscfg 工具定义了一个新按钮、并在 SSF.c 模块中添加了以下代码。

    button_Params bparams;
    button_Params_init (&bparams);
    button_open (CONFIG_button_0、dip _debug_CB、&bparams);

    ///////////////////////////////////////////////////////////

    void dip _debug_CB (button_handle _buttonHandle、button_EventMask _buttonEvents)
    {
    Cui_statusLinePrintf (ssfCuiHnlf、sensorStatusLine、"buttonEvents =%x"、
    buttonEvents);
    }

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

    尊敬的 Adam:  

    感谢您的分享。  

    您是否使用 ROV 进行了调试、以了解会发生什么情况?  

    谢谢、  
    ELIN

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

    您好、Elin、

    不、我不熟悉 ROV。

    根据我的大规模测试、我认为 INT_Bot_Edges 在行为上等于 INT_Falling。

    请仔细查看您的侧边。

    有几次成功的审判,但我认为是由反弹造成的。

    也就是说、反弹的下降沿"有助于" 将中断置为有效。

    启动后、上升沿不会在第一个触发器中将中断置为有效。

    BR

    Adam

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

    尊敬的 Adam:  

    您能否共享海量测试的日志文件以及对传感器示例所做的修改?  

    谢谢、  
    ELIN