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.

[参考译文] LAUNCHXL-CC1312R1:在 CCS 中无法查看 GPIO 状态

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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/1460424/launchxl-cc1312r1-not-able-to-see-gpio-status-in-ccs

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

工具与软件:

我的程序已成功编译、并已加载相同内容、并调试至 CC1312R1 LaunchXLsystem。

我已经在.syscfg 文件中配置了 GPIO。

问题:我无法在 CCS 上实时查看我的物理 IO 状态的实时视图。  我厌倦了 View > register、View> Expressions DOUT15_12或 DIN31_0。 但没有结果。

     

   

   

请解决该问题。  

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

    请指定您使用的 SDK 以及运行的具体示例以了解问题(还需指明 CCS 版本)。

    使用不进行任何修改的默认示例、然后查看您是否仍然发现问题。 您可以使用空示例、这里有用于切换 LED 的代码。

    如果不是、请逐步解释对代码所做的更改以查看出现的行为、以便我们可以在此处重新生成代码并找出问题所在。

    Siri

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

    你好、Siri、

    我尝试了在 GPIO6和 GPIO7上启用和禁用 LED 的 Example Program rfEchoRx。 工作正常。 我已经使用空示例完成了程序构建。

    使用 CCS 编译程序。

    我无法看到任何输入或无法命令任何输出(mA 可能是由于加密)。 至少、我应该能够在 CCS 上查看 GPIO 的实时状态。  

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

    你好、Siri。 我使用以下代码来查看中 GPIO 的状态  

    void debugGPIO(){
    uint16_t inputs = readInputs ();
    uint16_t outputs = readOutputs ();

    system_printf ("inputs:");
    for (int i = 11; i >= 0; i -){
    System_printf ("%c"、(输入和(1 << i))? '1':'0');
    }
    system_printf ("\n 输出:");
    for (int i = 11; i >= 0; i -){
    System_printf ("%c"、(输出和(1 << i))? '1':'0');
    }
    system_printf ("\n");
    system_flush();

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

    你好、Siri、  

    是否可以使系统联机以检查问题。

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

    不知道您上面发布的代码应该执行的操作、因为这些不是我可以在 SDK 中找到的函数调用。

    请使用 GPIO 驱动程序来控制 GPIO。

    我从最新的 SDK 中获取了 empty_CC1312R1_LAUNCHXL_freertos_gcc 示例、并在 SysConfig 中添加了 GPIO12和 GPIO15:

    然后、我修改了代码以设置和清除这些 GPIO 以及示例中已使用的 GPIO (CONFIG_GPIO_LED_0)。

    我没有遇到使用 CCS 调试信号以及在我分步执行代码时查看信号的设置和清除的问题。

    Siri

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

    你好、Siri、

    我尝试了一个 GPIO 中断示例、但仍然遇到同样的问题。 我 使用 CCS 的屏幕快照共享示例程序的代码。

    "  

    *
    *版权所有(c) 2015-2020、德州仪器(TI)公司
    保留所有权利。
    *
    *以源代码和二进制形式重新分发和使用,无论有无
    *修改,只要满足以下条件即可
    *已满足:
    *
    **重新分发源代码必须保留上述版权
    *通知,本条件列表及以下免责声明。
    *
    **二进制形式的再分发必须复制上述版权
    *通知,本条件列表和以下免责声明在
    *分发时提供的文档和/或其他材料。
    *
    *既不是德州仪器(TI)公司的名称、也不是公司的名称
    *其贡献者可用于认可或推广衍生产品
    *未经事先书面许可使用本软件。
    *
    *本软件由版权持有者和贡献者"按原样"提供
    *及任何明示或暗示的担保,包括但不限于,
    *对特定适销性和适用性的暗示保证
    *免责声明。 在任何情况下,版权所有者或
    *贡献者对任何直接、间接、附带、特殊、
    *惩戒性或后果性损害(包括但不限于:
    *替代商品或服务的采购;使用、数据或利润的损失;
    (*或业务中断)然而造成和任何责任理论,
    *无论是合同,严格的责任,或侵权(包括疏忽或
    因使用本软件而以任何方式产生的、
    *即使被告知这种损害的可能性。
    */

    /*
    *==== gpiointerrupt.c ====
    */
    #include
    #include

    /*驱动程序头文件*/
    #include

    /*驱动程序配置*/
    #include "ti_drivers_config.h"

    /*
    *==== gpioButtonFxn0====
    * CONFIG_GPIO_Button_0上用于 GPIO 中断的回调函数。
    *
    *注意:在调用回调之前清除 GPIO 中断。
    */
    void gpioButtonFxn0 (uint_least8_t 索引)

    /*切换 LED */
    GPIO_TOGGLE (CONFIG_GPIO_LED_0);
    }

    /*
    *==== gpioButtonFxn1====
    * CONFIG_GPIO_Button_1上用于 GPIO 中断的回调函数。
    *这可能不适用于所有开发板。
    *
    *注意:在调用回调之前清除 GPIO 中断。
    */
    void gpioButtonFxn1 (uint_least8_t 索引)

    /*切换 LED */
    GPIO_TOGGLE (CONFIG_GPIO_LED_1);
    }

    /*
    *==== mainThread ====
    */
    void * mainThread (void * arg0)

    /*调用驱动程序初始化函数*/
    GPIO_init ();

    /*配置 LED 和按钮引脚*/
    GPIO_setConfig (CONFIG_GPIO_LED_0、GPIO_CFG_OUT_STD | GPIO_CFG_OUT_LOW);
    GPIO_setConfig (CONFIG_GPIO_LED_1、GPIO_CFG_OUT_STD | GPIO_CFG_OUT_LOW);
    GPIO_setConfig (CONFIG_GPIO_Button_0、GPIO_CFG_IN_pu | GPIO_CFG_IN_INT_FALLING);

    /*打开用户 LED */
    GPIO_WRITE (CONFIG_GPIO_LED_0、CONFIG_GPIO_LED_ON);

    /*安装按钮回调*/
    GPIO_setCallback (CONFIG_GPIO_BUTON_0、gpioButtonFxn0);

    /*启用中断*/
    GPIO_enableInt (CONFIG_GPIO_Button_0);

    /*
    *如果有多个输入引脚可用于您的设备,中断
    *将在 CONFIG_GPIO_BUTTON1上启用。
    */
    如果(CONFIG_GPIO_Button_0!= CONFIG_GPIO_Button_1)

    /*配置 Button1引脚*/
    GPIO_setConfig (CONFIG_GPIO_Button_1、GPIO_CFG_IN_pu | GPIO_CFG_IN_INT_FALLING);

    /*安装按钮回调*/
    GPIO_setCallback (CONFIG_GPIO_BUTON_1、gpioButtonFxn1);
    GPIO_enableInt (CONFIG_GPIO_Button_1);
    }

    返回(NULL);
    }

    "

    我的程序正在 CC1312R1 Launch XL 板上成功执行。 但仍然无法在我的系统中查看实时 GPIO 状态。  

    请告知您要做什么。

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

    在打开相应的电源域之前、您将无法读取域上的寄存器。 如果使用默认的 gpiointerrupt 示例,这意味着在 GPIO_init ()之前无法读取 GPIO 寄存器;函数已运行(从 Board_init ()调用)。

    Siri