|
使用stm32l431使用串口115200波特率。使能dma发送。主循环不停发送数据。代码如下: if((send_count != count) && (flag_1 == 0) && (send_count % 10 == 0)) { flag_1 = 1; HAL_UART_Transmit_DMA(&huart1, (uint8_t *)buf, 22); count = send_count; } flag_1在dma中断清除。代码如下: void HAL_UART_TxCpltCallback(UART_HandleTypeDef *huart) { huart->gState = HAL_UART_STATE_READY; flag_1 = 0; } 使能dma接收。 dma中断中再启动一个新的接收dma。 使用串口调试助手不停发送数据。运行一段时间后串口接收会溢出。 串口接收发送 会触发dma中断。想问一下 是否是由于中断处理不过来 导致 接收中断还没有启动一个新的dma时。串口就有数据导致的。 芯片的同时收发的极限速率输多少? |
微信公众号
手机版