STM32L15x低功耗芯片:USART通信详解

需积分: 10 2 下载量 178 浏览量 更新于2024-09-07 收藏 270KB PDF 举报
"STM32L15x系列低功耗微控制器的通信外设主要集中在通用串行总线(USART)上,该芯片支持3个USART模块,分别是USART1、USART2和USART3。USART1连接到高速APB2总线,而USART2和3则连接到低速APB1总线。这些USART模块提供了多种数据配置选项,能够适应不同应用需求。 USART支持8位和9位的数据格式,并且可以设置奇校验、偶校验或无校验位的通信方式。同时,它允许设置0.5、1、1.5或2个停止位,以满足不同波特率的需求。波特率是可编程的,整数部分为12位,小数部分为4位,计算公式为Tx/Rxbaud = fck / 8 x (2 - OVER8) x USARTDIV。其中OVER8用于选择8过采样模式,当OVER8为0时,小数部分由BRR寄存器的DIV_fraction[3:0]表示,为1时,则由DIV_fraction[2:0]表示,fck是APB总线的频率,USARTDIV是BRR寄存器的值。USART的最大波特率可达4Mbps。 此外,STM32L15x的USART还支持硬件流控制,如CTS(清除发送)和RTS(请求发送)功能,以及带有中断功能的特定接收和发送标志位(TxE和RxNE)。它还提供了多达10个中断源,便于用户进行复杂的应用控制。USART支持LIN(Local Interconnect Network)主/从模式,可以作为智能卡接口,支持IrDA红外数据协会的编码和解码,适用于短距离无线通信,同时具备单线半双工通信能力,便于多处理器之间的通信。在静默模式下,USART会禁止接收中断,可通过空闲总线检测或地址标记检测来唤醒。 STM32L15x的USART还支持同步模式,仅适用于主模式下的全双工、三线同步传输。用户可以配置时钟极性(CPOL)和相位(CPHA),并决定发送时钟的输出(SCLK)。对于IrDA支持,USART具备半双工NRZ(Non-Return-to-Zero)编码和解码功能,符合IrDA协议标准,以实现快速红外通信。 STM32L15x系列的USART外设提供了一套全面的通信解决方案,涵盖了从基本的异步串行通信到高级的同步和红外通信模式,且具备灵活的波特率配置、硬件流控制和DMA传输等功能,使得它在低功耗应用中表现出强大的功能和灵活性。"