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.

CC1352R: UART收发能否手动随时终止

Part Number: CC1352R

用CC1352R芯片升级flash内容,UART口在等待升级的时候如果需要取消,发现一直在uart_read等待不往下走, UART_readCancel(uartHandle);UART_writeCancel(uartHandle);UART_close(uartHandle);无效。

如果设置 uartParams.readTimeout为一定时间的话,是可以退出uart_read部分的,请问uart_read是否可以UART_WAIT_FOREVER情况下终止退出。谢谢

当前代码的UART设置如下:

进入更新数据功能:

FUN1()  {

/* initialize UART */
UART_Params_init(&uartParams);
uartParams.writeDataMode = UART_DATA_BINARY;
uartParams.readDataMode = UART_DATA_BINARY;
uartParams.readReturnMode = UART_RETURN_FULL;
//    //    uartParams.readTimeout=50000000;
uartParams.readMode=UART_MODE_BLOCKING;
uartParams.writeMode=UART_MODE_BLOCKING;
uartParams.stopBits=UART_STOP_ONE;
uartParams.dataLength=UART_LEN_8;

uartParams.readEcho = UART_ECHO_OFF;
uartParams.baudRate = 115200;
uartHandle = UART_open(CONFIG_UART_OAD, &uartParams);//CONFIG_DISPLAY_UART

/* get image header */
UART_read(uartHandle, imgMetaData, sizeof(OADStorage_imgIdentifyPld_t));

^^^^^^^^

}

退出更新等待:

FUN2()  {

OADStorage_close();
UART_readCancel(uartHandle);
UART_writeCancel(uartHandle);
UART_close(uartHandle);

}