Skip to content

Commit 49872b7

Browse files
committed
修复串口再配置后无法收到数据的问题.
1 parent 7f6749a commit 49872b7

File tree

1 file changed

+8
-1
lines changed

1 file changed

+8
-1
lines changed

bsp/nxp/mcx/mcxn/Libraries/drivers/drv_uart.c

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -133,6 +133,7 @@ static rt_err_t mcx_configure(struct rt_serial_device *serial, struct serial_con
133133
{
134134
struct mcx_uart *uart; /* Serial port hardware structure, calling the structure initialized above */
135135
lpuart_config_t config;/* It contains basic configuration parameters of the serial port, such as baud rate, data bit, stop bit, and parity check */
136+
rt_uint32_t irq_regval;
136137

137138
RT_ASSERT(serial != RT_NULL); /* assert */
138139
RT_ASSERT(cfg != RT_NULL);
@@ -159,8 +160,14 @@ static rt_err_t mcx_configure(struct rt_serial_device *serial, struct serial_con
159160

160161
config.enableTx = true;
161162
config.enableRx = true;
162-
163+
164+
irq_regval = LPUART_GetEnabledInterrupts(uart->uart_base);
163165
LPUART_Init(uart->uart_base, &config, CLOCK_GetFreq(uart->clock_src));
166+
if(irq_regval & kLPUART_RxDataRegFullInterruptEnable)
167+
{
168+
LPUART_EnableInterrupts(uart->uart_base, kLPUART_RxDataRegFullInterruptEnable);
169+
EnableIRQ(uart->irqn);
170+
}
164171

165172
return RT_EOK;
166173
}

0 commit comments

Comments
 (0)