STM32的USART组件支持异步.同步.单线半双工.多处理器.IrDA.LIN.SmartCard等模式,本文介绍的是异步即UART模式. 总线通信有三种模型:轮询.中断和DMA.DMA对我来说是陌生的内容,以后单独开篇细讲. HAL HAL把寄存器组组织成组件,组件包含外设的各个寄存器.在USART这里,寄存器不足以描述外设的所有状态,HAL用handle来包装组件.一个handle包含指向组件的指针.初始化参数.状态.与其他组件的链接(如DMA)和内部状态等. 图源ST官方MOOC,打开之…