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.

[参考译文] TM4C129ENCPDT:采用 TI-RTOS 的 UART 流控制

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/617476/tm4c129encpdt-uart-flow-control-with-ti-rtos

器件型号:TM4C129ENCPDT
主题中讨论的其他器件:CC1310

大家好、

请告诉我 TIA-RTOS 的 Tiva-C UART 流控制。

客户在 Tiva-C 和 CC1310之间使用 UART 进行通信、它连接了 CTX 和 RTS、但无法通信。

当使用示波器检查通信波形时、两个信号都是下拉信号并且始终有效。

因此、当 CC1310的 RTS 引脚通过 PIN_Config()上拉时、可以控制 Tiva-C (Tx)-> CC1310 (Rx)的通信。

他们以相同的方式尝试将 Tiva-C 的 RTS 引脚上拉、但我无法使用 Pin_Config()对其进行设置。

他们尝试使用外部电阻上拉、但如果他们使用 TI-RTOS 使 BIOS_Start、则 RTS 引脚将被置为有效。

(直到 BIOS_Start、RTS 为上拉电阻。)

请告诉我以下内容。

Tiva-C 能否同时使用 UART 功能和内置上拉功能?

2.我可以使用 TI-RTOS 控制 Tiva-C 的 UART 流控制吗?

此致、

Takashi

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

    你好、Takashi-San、

     我不是 RTOS 专家。 我认为从 TI-RTOS 的角度来看、您需要在 uartTivaHWAttrs 中定义 RTS/CTS 硬件属性。 您很可能具有关闭 FlowControl 的默认设置。 我认为您需要从 UART_FlowControl_NONE 更改为 UART_FlowControl_TX | UART_FlowControl_RX 以启用两个 CTS/RTS。 在 EK_TM4C129EXL_initUART ()中,您需要相应地添加/配置所选 UART 实例的 CTS/RTS 引脚的 pinmux。

    CONST UARTTiva_HWAttrs uartTivaHWAttrs[EK_TM4C129EXL_UARTCOUNT]={
    {
    baseAddr = UART0_BASE、
    .intNum = INT_UART0、
    .intPriority =(~0)、
    .FlowControl = UART_FlowControl_NONE、
    .ringBufPtr = uartTivaRingBuffer[0]、
    .ringBufSize = sizeof (uartTivaRingBuffer[0])
    }
    };
    
    const UART_Config UART_config[]={
    {
    .fxnTablePtr =&UARTTiva_fxnTable、
    .object = uartTivaObjects[0]、
    .hwAttrs =&uartTivaHWAttrs[0]
    }、
    {NULL、NULL、NULL}
    };
    #endif /* TI_DRIVERS_UART_DMA */
    
    /*
    === EK_TM4C129EXL_initUART ===
    /void
    EK_TM4C129EXL_initUART (void)
    {
    /*启用和配置 UART 使用的外设。 *
    SysCtlPeripheralEnable (SYSCTL_Periph_UART0);
    GPIOPinConfigure (GPIO_PA0_U0RX);
    GPIOPinConfigure (GPIO_PA1_U0TX);
    GPIOPinTypeUART (GPIO_Porta_base、GPIO_PIN_0 | GPIO_PIN_1);
    
    /*初始化 UART 驱动程序*/
    #if TI_DRIVERS_UART_DMA
    EK_TM4C129EXL_initDMA ();
    #endif
    UART_init();
    }