The patch is to change the timeout from 10us to 0 so that we just do a poll for more receive data when there is already data queued. With this patch, the code seems to work just fine with 100Hz timer tick. Thank you, David Mosberger

This commit is contained in:
skarg
2019-03-17 22:15:27 +00:00
parent f028874041
commit d7ad240f05
+4 -4
View File
@@ -482,9 +482,9 @@ void RS485_Check_UART_Data(
/* data is available */
mstp_port->DataRegister = FIFO_Get(&Rx_FIFO);
mstp_port->DataAvailable = true;
/* FIFO is giving data - don't wait very long */
/* FIFO is giving data - just poll */
waiter.tv_sec = 0;
waiter.tv_usec = 10;
waiter.tv_usec = 0;
} else {
/* FIFO is empty - wait a longer time */
waiter.tv_sec = 0;
@@ -514,9 +514,9 @@ void RS485_Check_UART_Data(
/* data is available */
mstp_port->DataRegister = FIFO_Get(&poSharedData->Rx_FIFO);
mstp_port->DataAvailable = true;
/* FIFO is giving data - don't wait very long */
/* FIFO is giving data - just poll */
waiter.tv_sec = 0;
waiter.tv_usec = 10;
waiter.tv_usec = 0;
} else {
/* FIFO is empty - wait a longer time */
waiter.tv_sec = 0;