大家好、
使用2640串行端口时、配置回调模式并开启部分返回函数以接收未定字符串、
通常、2640串行端口接收可作为数据包接收的字符串。
但是、当发送方发送的字符间延迟稍大时、2640接收将分包、这应该是由于部分返回功能。
我想知道这个串行端口返回功能的默认时间是什么、以及它是如何配置的。
// Callback function static void UartreadCallback(UART_Handle handle, void *rxBuf, size_t size) { //UserUART_config[0].fxnTablePtr->writeFxn(Uarthandle,rxBuf,size); UartReceiveDataProcess(rxBuf,size); UserUART_config[0].fxnTablePtr->readFxn(Uarthandle,UserrxBuf,wantedRxBytes); } void UserUartInit(void) { // Initialize the UART driver. UART_init(); // Create a UART with data processing off. UART_Params_init(&Uartparams); //初始化是赋予一个默认值 Uartparams.baudRate = 9600; Uartparams.writeDataMode = UART_DATA_BINARY; //可以选择二进制格式还是10进制格式 Uartparams.readMode = UART_MODE_CALLBACK; Uartparams.readDataMode = UART_DATA_BINARY; Uartparams.readCallback = UartreadCallback; Uarthandle = UART_open(Board_UART0, &Uartparams); if (Uarthandle == NULL) { // UART_open() failed while (1) ; } UserUART_config[0].fxnTablePtr->controlFxn(Uarthandle, UARTCC26XX_CMD_RETURN_PARTIAL_ENABLE, NULL); wantedRxBytes = 100; UserUART_config[0].fxnTablePtr->readFxn(Uarthandle, UserrxBuf, wantedRxBytes); }
此致、
银河