使用stm32l431使用串口115200波特率。使能dma发送。主循环不停发送数据。代码如下: if((send_count != count) && (flag_1 == 0) && (send_count % 10 == 0))9 V n* @5 J- A0 d. _( F {' Q& I2 l6 w% N5 Y( z" N flag_1 = 1;) i. R. r6 V6 e7 \( ^7 N HAL_UART_Transmit_DMA(&huart1, (uint8_t *)buf, 22);# H! n% U. E' {- w. V" k 3 f' ^: f( x0 t/ G3 L6 f! K6 E count = send_count; }% o8 U, ~& T) z5 X) B: `: q6 J % H1 K- H% m3 }, N) s6 `& U flag_1在dma中断清除。代码如下: void HAL_UART_TxCpltCallback(UART_HandleTypeDef *huart) { & a d8 b) @7 [& h N9 R9 G$ @5 q E: p7 M/ V8 `) j6 `" g huart->gState = HAL_UART_STATE_READY;: g `, t7 q9 n. p1 o( } flag_1 = 0; }$ L, g2 \6 y2 V) K. \ l/ q1 U* ^( A8 L ' j/ O$ `$ t8 F# q; M/ { 使能dma接收。 / h. @0 I/ O# z dma中断中再启动一个新的接收dma。 " B* S, Q* h1 H* h7 V. K 使用串口调试助手不停发送数据。运行一段时间后串口接收会溢出。 : \/ I- k. E U 串口接收发送 会触发dma中断。想问一下 是否是由于中断处理不过来 导致 接收中断还没有启动一个新的dma时。串口就有数据导致的。; }8 m& r/ I2 Q+ j 芯片的同时收发的极限速率输多少?4 z$ b i% m/ n }3 q+ S |