大家好、
使用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);
}
此致、
银河

