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.

[参考译文] RTOS/CC3200-LAUNCHXL:如何切换 PIN 64、为什么不将其关闭?

Guru**** 2552250 points
Other Parts Discussed in Thread: CC3200

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/570611/rtos-cc3200-launchxl-how-is-pin-64-being-toggled-and-why-can-i-not-switch-it-off

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

工具/软件:TI-RTOS

我创建了一个空的 TI-RTOS 示例项目、并对其进行了编译和运行。 我看到正在使用引脚64。 它实际上被切换。

但为什么  

空心跳 Fxn (UARg arg0、UARg arg1)

while (1){
Task_sleep ((UINT) arg0);
GPIO_TOGGLE (Board_LED0);  

GPIO_TOGGLE (Board_LED0); 也会切换引脚64。  

在尝试关闭 PIN 时、它会引发总线错误?

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

    Debraj、

    不清楚您的问题是什么? 空 LED D7是否正常闪烁? 请注意、Board_LED0实际上是 CC3200_LAUNCHXL_LED_D7 (在 Board.h 中)。 CC3200_LAUNCHXL_LED_D7值为2 (根据 CC3200_LAUNCHXL_GPIOName 枚举的顺序)。 因此、GPIO_PinConfig gpioPinConfigs 数组中的第三个条目是被切换的条目。 因此、GPIO_09 (即引脚64)是被切换的引脚。

    GPIO_PinConfig gpioPinConfigs[]={

      /*带有回调的输入引脚*/

      /* CC3200_LAUNCHXL_SW2 */

      GPIOCC3200_GPIO_22 | GPIO_CFG_INPUT| GPIO_CFG_IN_INT_INT_RISING、

      /* CC3200_LAUNCHXL_SW3 */

      GPIOCC3200_GPIO_13 | GPIO_CFG_INPUT| GPIO_CFG_IN_INT_INT_RISING、

      /*输出引脚*/

      /* CC3200_LAUNCHXL_LED_D7 */

      GPIOCC3200_GPIO_09 | GPIO_CFG_OUT_STD | GPIO_CFG_OUT_STR_HIGH | GPIO_CFG_OUT_LOW、

     

    Todd

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

    您好 Todd、

    感谢您的解释、您能不能告诉我、要使电路板的 LED_D5和 PIN_55闪烁、我需要做些什么更改?

    当我不对代码进行任何更改时、LED_D7闪烁。 但是、当我尝试启用任何其他引脚时、假设是 PIN_55或其他 LED、如 LED_D5、则不起作用。

    我有  

    GPIO_PinConfig gpioPinConfigs[]={
    /*带有回调的输入引脚*/
    /* CC3200_LAUNCHXL_SW2 */
    GPIOCC3200_GPIO_22 | GPIO_CFG_INPUT| GPIO_CFG_IN_INT_INT_RISING、
    /* CC3200_LAUNCHXL_SW3 */
    GPIOCC3200_GPIO_13 | GPIO_CFG_INPUT| GPIO_CFG_IN_INT_INT_RISING、

    /*输出引脚*/
    /* CC3200_LAUNCHXL_LED_D7 */
    GPIOCC3200_GPIO_09 | GPIO_CFG_OUT_STD | GPIO_CFG_OUT_STR_HIGH | GPIO_CFG_OUT_LOW、

    /*
    * CC3200_LAUNCHXL_LED_D5和 CC3200_LAUNCHXL_LED_D6与共享
    * I2C 和 PWM 外设。 为了使这些示例正常工作、这些示例
    * LED 取自 gpioPinCOnconfig[]
    *
    /* CC3200_LAUNCHXL_LED_D6 */
    //GPIOCC3200_GPIO_10 | GPIO_CFG_OUT_STD | GPIO_CFG_OUT_STR_HIGH | GPIO_CFG_OUT_LOW、
    /* CC3200_LAUNCHXL_LED_D5 */
    GPIOCC3200_GPIO_11 | GPIO_CFG_OUT_STD | GPIO_CFG_OUT_STR_HIGH | GPIO_CFG_OUT_LOW、
    };

    上面未注释的 GPIO_11。

    空心跳 Fxn (UARg arg0、UARg arg1)

    while (1){
    Task_sleep ((UINT) arg0);
    GPIO_TOGGLE (Board_LED0);
    GPIO_TOGGLE (Board_LED2);

    添加了 LED2

    有的  

    #define Board_LED2          CC3200_LAUNCHXL_LED_D5  

    也是如此

    typedef enum CC3200_LAUNCHXL_GPIOName{
    CC3200_LAUNCHXL_SW2 = 0、
    CC3200_LAUNCHXL_SW3、
    CC3200_LAUNCHXL_LED_D7、

    /*
    * CC3200_LAUNCHXL_LED_D5和 CC3200_LAUNCHXL_LED_D6与共享
    * I2C 和 PWM 外设。 为了使这些示例正常工作、这些示例
    * LED 取自 gpioPinCOnconfig[]
    *
    //CC3200_LAUNCHXL_LED_D6、
    CC3200_LAUNCHXL_LED_D5、

    CC3200_LAUNCHXL_GPIOCOUNT
    }CC3200_LAUNCHXL_GPIOName;

    此处也未添加注释的 LED_D5。

    我缺少什么吗?

    我想了解代码中的基本链接、因为我对这种编码结构不熟悉。

    谢谢、

    德布拉伊

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

    很抱歉耽误你的时间。 上周论坛异常繁忙。 您是否使其正常工作? 您在生成的 ROM_PIN_MUX_CONFIG.c 文件中缺少 pinmux 代码。

    PinTypeGPIO (PIN_02、PIN_MODE_0、false);
    GPIODirModeSet (GPIOA1_base、0x8、GPIO_DIR_MODE_OUT);

    我随您的更改添加了此内容、绿色 LED 工作正常。

    Todd
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    是的、我明白了。 感谢您、如果您能帮助我处理我的另一个线程中用于 driverlib 调用的代码、该代码将解决我的所有问题。