1 《STM32进阶之串口环形缓冲区实现》中讲得比较清楚(链接)
2 amobbs中讲的方法有点复杂,以下是链接和参考源码:
通信方案软件设计(环形动态申请内存,支持USART+IIC+SPI+CAN协议)
STM32串口驱动(拼音检索测试通过)(环形队列+内存动态分配+DMA)