RS-485: HAL_UART_Receive_IT() causes HAL_UART_RxCpltCallback() firing without any data to receive on the line
I'm transmitting 1 byte of data via HAL_UART_Transmit_IT(). After this byte is being fed to the UART HAL via the abovementioned method, the HAL_UART_TxCpltCallback() callback is being fired (which is completely normal). The problem comes during the consequent operation - I want to try to receive 1 byte of data via HAL_UART_Receive_IT(). After calling HAL_UART_Receive_IT() I don't expect firing the HAL_UART_RxCpltCallback() callback, because the serial port is totally disconnected and there's no way data to be present on it's RX line. But this is what actually happens - the HAL_UART_RxCpltCallback() is being called without any reason. And there is no error detected if I check the same UART's state by HAL_UART_GetError() in HAL_UART_RxCpltCallback() callback.
Any ideas what may cause this very strange behavior?