主题中讨论的其他器件: MIOTY、 Sysconfig
工具/软件:
您好:
我想通过具有硬件流控制的 Uart2与我的 CC1352R 板进行通信、或者与另一个 CC1352R 板进行通信。 我使用 SDK 5.30
因此、我已在.syscfg 中为 UART2启用流控制。 我想 在阻塞模式下使用 UART2。
UART 通信运行良好、但没有流控制。 如果断开 CTS 并将其设置为高电平或低电平、通信仍然有效。
我使用逻辑分析仪检查了 UART:RTS 始终为高电平、CTS 始终为低电平。
请帮帮我。
我的代码是:
/*
* ======== mainThread ========
*/
void *main_uart(void *arg0)
{
uint8_t uart_rx_buffer[UART_BUFFER_SIZE]; /* Buffer for UART */
uint32_t status = UART2_STATUS_SUCCESS;
/* Create a UART in CALLBACK read mode */
UART2_Params_init(&uartParams);
uartParams.baudRate = 115200;
uartParams.writeMode = UART2_Mode_BLOCKING;
//uartParams.writeCallback = writeCallback;
uartParams.readMode = UART2_Mode_BLOCKING;
//uartParams.readCallback = callbackFxn;
uartParams.readReturnMode = UART2_ReadReturnMode_FULL;
uart = UART2_open(CONFIG_UART2_0, &uartParams);
if (uart == NULL)
{
/* UART2_open() failed */
while (1);
}
status = UART2_write(uart, "test", 4 , &numBytesWritten);
if (status != UART2_STATUS_SUCCESS)
{
/* UART2 read() failed */
printf("%d\n", status);
while (1);
}
/* Loop forever echoing */
while (1)
{
numBytesRead = 0;
//Only Tx if both flags false
if(!uart_flag_tx_mioty && !uart_flag_tx_ble)
{
status = UART2_readTimeout(uart, uart_rx_buffer, UART_BUFFER_SIZE, &numBytesRead, 5000);
if (numBytesRead > 0)
{
UART2_write(uart, "test", 4, &numBytesWritten);
}


