PC机每隔100ms给协调器发送28字节的数据,协调器接收后,回显。
过一段时间后,会提示:HAL_UART_RX_FULL,而且发送的数据也不是完整的28个字节。
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.
PC机每隔100ms给协调器发送28字节的数据,协调器接收后,回显。
过一段时间后,会提示:HAL_UART_RX_FULL,而且发送的数据也不是完整的28个字节。
你好,我自己写了一个测试正常如下:
void AF_Uart_config(void) { halUARTCfg_t uartConfig; uartConfig.configured = TRUE; uartConfig.baudRate = HAL_UART_BR_9600; uartConfig.flowControl = FALSE; uartConfig.flowControlThreshold = 32; uartConfig.rx.maxBufSize = 64; uartConfig.tx.maxBufSize = 64; uartConfig.idleTimeout = 6; uartConfig.intEnable = TRUE; uartConfig.callBackFunc = AF_Uart_Callback; HalUARTOpen (HAL_UART_PORT_0, &uartConfig); } void AF_Uart_Callback( uint8 port, uint8 event ) { uint16 data_len; uint8 *uart_data; if(event & (HAL_UART_RX_FULL|HAL_UART_RX_ABOUT_FULL|HAL_UART_RX_TIMEOUT)) { data_len=Hal_UART_RxBufLen(HAL_UART_PORT_0); uart_data=osal_mem_alloc(data_len); if ( uart_data != NULL ) { HalUARTRead(HAL_UART_PORT_0,uart_data,data_len); HalUARTWrite(HAL_UART_PORT_0,uart_data,data_len); data_len=0; } osal_mem_free( uart_data ); } }