/*********************************************************************
* @fn Uart_ReadCallback
*
* @brief 串口读回调
*
* @param handle -> 串口通道
* rxBuf -> 串口接收数据的指针
* size -> 串口接收数据的长度
*
* @return None.
*/
void Uart_ReadCallback(UART_Handle handle, void *rxBuf, size_t size)
{ UART_read(handle, Uart_RxTempBuf, 200); //再次打开一个串口读
GY_UartReviceDataCallback(rxBuf, size); //给app任务一个串口读回调
}
/*********************************************************************
* @fn GY_UartTask_Init
*
* @brief 串口任务初始化
*
* @param None
*
* @return None.
*/
void HwUARTInit(void)
{
UART_init(); //初始化模块的串口功能
UART_Params_init(&UARTparams); //初始化串口参数
UARTparams.baudRate = 115200; //串口波特率115200
UARTparams.dataLength = UART_LEN_8; //串口数据位8
UARTparams.stopBits = UART_STOP_ONE; //串口停止位1
UARTparams.readDataMode = UART_DATA_BINARY; //串口接收数据不做处理
UARTparams.writeDataMode = UART_DATA_BINARY; //串口发送数据不做处理
UARTparams.readMode = UART_MODE_CALLBACK; //串口异步读
UARTparams.writeMode = UART_MODE_BLOCKING; //串口同步写
UARTparams.readEcho = UART_ECHO_OFF; //串口不回显
UARTparams.readReturnMode = UART_RETURN_NEWLINE; //当接收到换行符时,回调
UARTparams.readCallback = Uart_ReadCallback; //串口读回调
UARTparams.writeCallback = NULL; //
UARTHandle = UART_open(Board_UART0, &UARTparams); //打开串口通道
UART_control(UARTHandle, UARTCC26XX_RETURN_PARTIAL_ENABLE, NULL); //允许接收部分回调
//UART_read(UARTHandle, Uart_RxTempBuf, 200); //打开一个串口读
}
Viki Shi:
可以参考官方的串口例程: processors.wiki.ti.com/…/CC2640_Serial_Communication