1.驱动优化。

This commit is contained in:
MacRsh
2024-01-13 03:12:09 +08:00
parent 01dd617216
commit f68d2d0ab0
8 changed files with 66 additions and 64 deletions

View File

@@ -277,15 +277,17 @@ static void drv_serial_isr(struct mr_serial *serial)
{
struct drv_serial_data *serial_data = (struct drv_serial_data *)serial->dev.drv->data;
if (__HAL_UART_GET_FLAG(&serial_data->handle, UART_FLAG_ORE) != RESET)
{
__HAL_UART_CLEAR_OREFLAG(&serial_data->handle);
}
if ((__HAL_UART_GET_FLAG(&serial_data->handle, UART_FLAG_TXE) != RESET)
&& (__HAL_UART_GET_FLAG(&serial_data->handle, UART_FLAG_TC) != RESET))
{
mr_dev_isr(&serial->dev, MR_ISR_SERIAL_WR_INT, NULL);
} else if (__HAL_UART_GET_FLAG(&serial_data->handle, UART_FLAG_ORE) != RESET)
{
__HAL_UART_CLEAR_OREFLAG(&serial_data->handle);
} else if ((__HAL_UART_GET_FLAG(&serial_data->handle, UART_FLAG_RXNE) != RESET)
&& (__HAL_UART_GET_IT_SOURCE(&serial_data->handle, UART_IT_RXNE) != RESET))
}
if ((__HAL_UART_GET_FLAG(&serial_data->handle, UART_FLAG_RXNE) != RESET)
&& (__HAL_UART_GET_IT_SOURCE(&serial_data->handle, UART_IT_RXNE) != RESET))
{
mr_dev_isr(&serial->dev, MR_ISR_SERIAL_RD_INT, NULL);
}