USART串口

一、通信接口

        通信目的:将一个设备的数据传送到另一个设备。

        通信协议:通信双方按照协议规则进行数据收发。

        全双工:可以同时收发数据;半双工:同一时间只能收或发。

二、USART串口协议

        串口是一种十分广泛的通讯接口,可以使单片机与单片机、单片机与电脑、单片机与各式各样模块互相通信。

1.硬件电路

        TX发送端,RX接收端。TX与RX要交叉连接。电平标准不一致需要加电平转换芯片。

        电平标准:TTL电平,+3.3V~+5V表示1,0V表示0。

                          RS232电平,-3V~-15V表示1,+3V~+15V表示0。

                          RS485电平,两线压差+2V~+6V表示1,-2V~-6V表示0。(差分信号)

2.串口参数及时序

        波特率:串口通信速度。(9600波特率,每传送一位所需时间1/9600)

        起始位:标志一个数据帧开始,固定为低电平。(下降沿触发)

        停止位:用于数据帧间隔,固定为高电平。

        数据位:数据帧的有效负荷,1为高电平,0为低电平,低位先行

        校验位:用于数据验证,根据数据位计算的来。(无校验、奇校验、偶校验,判断1的个数)

三、USART串口外设

        USART(Universal Synchronous/Asynchronous Receiver/Transmitter),通用同步/异步收发器。USART使STM32内部集成的硬件外设,可以根据数据寄存器的一个字节数据自动生成数据帧时序,从TX引脚发送出去,也可以自动接收RX引脚数据帧时序,拼接为一个字节数据,存放在数据寄存器里。

        USART自带波特率发生器,最高达4.5Mbits/s。数据位长度(8/9),停止位长度(0.5/1/1.5/2),可选校验位(无校验/奇校验/偶校验)。支持同步模式、硬件流控制、DMA、智能卡、IrDA、LIN。

        STM32F103C8T6的USART资源:USART1、USART2、USART3。

1.USART框图

        RX连接接收移位寄存器,接收移位寄存器接收到数据置一个位,把数据送到接收数据寄存器(RDR),然后接可以读取RDR的值。

        把发送的数据送到发送数据寄存器(TDR),TDR接收到数据置一个标志位,TDR数据送到发送移位寄存器,发送移位寄存器把数据发送至TX。

        硬件数据流控,nRTS连接其他USART的nCTS,如果不能处理过来发来的数据,就会置一个标志位给发送端。

        SCLK只能输出,用于扩展USART的其他协议。

        USART中断控制,能不能进NVIC。TXE发送中断标志位,RXNE接收中断标志位。

        波特率发生器,fpclk_x,APB1频率36MHz,APB2频率72MHz,先预分频,然后再16分频。

2.USART基本结构

        RX通过GPIO到接收移位寄存器,接收移位寄存器把数据送到接受数据寄存器(RDR),置标志位位RXEN,判断RXEN是否接收到数据。

        发送数据寄存器(TDR)把数据送到发送移位寄存器,置标志位TXE,判断TXE是否可以发送数据。

①数据帧

        时钟上升沿&#x

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值