4.STM32F40x 串口通信(文中以USART1为例子)

本文详细介绍了STM32F40x系列单片机的串口通信(USART)概念、主要特性、配置方法,包括异步传输、数据格式、中断服务、NVIC中断配置,并提供了代码示例和中断服务函数的简单说明,旨在帮助读者理解和应用STM32的串口通信功能。
摘要由CSDN通过智能技术生成

一、USART概念内容

       串口通信是一种通过串行接口进行数据传输的通信方式。在串口通信中,数据是以的形式逐个传输的,通常使用RS-232、RS-485、USB等接口标准。串口通信可以用于连接计算机和外部设备、嵌入式系统之间的通信,常见的应用包括串口打印机、串口调制解调器、串口通信设备等。串口通信的优点是传输距离远、成本低、稳定可靠,但传输速度相对较慢

       通用同步异步收发器(USART)能够灵活地与外部设备进行全双工数据交换,满足外部设备对工业标准NRZ异步串行数据格式的要求。USART通过小数波特率发生器提供了多种波特率。

      它支持同步单向通信和半双工单线通信;还支持LIN(局域互连网络)、智能卡协议与IrDA (红外线数据协会)SIR ENDEC规范,以及调制解调器操作(CTS/RTS)。而且,它还支持多处理器通信。通过配置多个缓冲区使用DMA可实现高速数据通信

二、USART主要特性

        1. 异步或同步传输:USART可以以异步模式或同步模式进行数据传输。异步传输使用起始位和停止位确定数据帧的开始和结束,而同步传输使用外部时钟信号进行同步。

       2. 支持多种数据格式:USART支持多种数据格式,包括数据位数(通常为8位)、校验位(奇偶校验或无校验)和停止位数(通常为1位或2位)的配置。

      3. 双工通信:USART支持全双工通信,可以同时进行数据的发送和接收。

      4. 可编程波特率:USART允许用户根据需要设置波特率,以适应不同的通信速率要求。

      5. 中断支持:USART提供中断功能,可以在数据接收或发送完成时触发中断,以便及时处理数据。

     6. 多个通信模式:USART可以配置为主模式或从模式。在主模式下,USART可以控制通信的时序和流程,而在从模式下,USART将根据外部设备的控制进行通信。

     7. 缓冲器支持:USART通常具有接收和发送缓冲器,用于存储接收到的数据和待发送的数据。

    8. 硬件流控制:一些USART支持硬件流控制功能,包括使用RTS(请求发送)和CTS(清除发送)信号进行数据流控制。

三、USART功能说明

         接口通过三个引脚从外部连接到其他设备(请参见USART框图)。任何USART双向通信均需要至少两个引脚:接收数据输入引脚(RX)和发送数据输出引脚(TX)。

       RX:接受数据输入引脚是指串行数据输入引脚。过采样技术可区分有效输入数据和噪声,从而用于恢复数据。

      TX:发送数据输出引脚,如果关闭发送器,该输出引脚模式由其I/O端口决定。如果使能了发送器但没有待发送数据,则TX引脚处于高电平。在单线和智能卡模式下,该I/O用于发送和接收数据(USART电平下,随后在SW_RX上接收数据)。

USART框图如下:

        

四、USART字符说明

      可通过对USART_CR1寄存器中的M位进行编程来选择8位或9位的字长(请参见USART字符框图)。TX引脚在起始位工作期间处于低电平状态。在停止位工作期间处于高电平状态。

     空闲字符可理解为整个帧周期内电平均为“1”(停止位的电平也是“1”),该字符后是下一个数据帧的起始位。

      停止字符可理解为在一个帧周期内接收到的电平均为“O”。发送器在中断帧的末尾插入1或2个停止位(逻辑“1”位)以确认起始位。

发送和接收由通用波特率发生器驱动,发送器和接收器的使能位分别置1时将生成相应的发送时钟和接收时钟。

USART字符框图如下所示:

                                                                          

五、USART可配置停止位

        可以在控制寄存器⒉的位13和位12中编程将随各个字符发送的停止位的数量。

         1个停止位。这是停止位数量的默认值。

        2个停止位。正常USART模式、单线模式和调制解调器模式支持该值。

        0.5个停止位。在智能卡模式下接收数据时使用。

       1.5个停止位。在智能卡模式下发送和接收数据时使用。

        空闲帧发送将包括停止位。

       m=0时,中断发送是10个低电平位,然后是已配置数量的停止位;m=1时,中断发送是11个低电平位,然后是已配置数量的停止位。无法传送长中断(中断长度大于10/11个低电平位)。

USART可配置的停止位框图如下:

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值