UART总结与波特率计算方法

UART是一种全双工异步通信方式,依赖起始和停止位来同步数据传输,波特率定义了每秒传输的二进制位数。USART在UART基础上增加了同步时钟,确保精确数据同步。在iMX6ULL处理器中,UART接口如UART1分别对应不同的tty设备节点(如ttymxc0)。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.UART

UART(Universal Asynchronous Receiver/Transmitter)全双工通用异步收发器,异步时不需要时钟信号。
如下图,起始位必为低电平,停止位必为高电平。中间的是八位数据位。
例如一个十位的数据如0011000011,第一个0代表起始位,中间的8位01100001代表a(a的ascii码为97),最后的1表示我已经传输停止。
在这里插入图片描述

2.波特率计算

在异步通信时,需要设定好波特率,波特率即每秒传输多少个二进制数据。
例如波特率=115200,则它传输一位数据位(1bit)的时间为1/115200s,而传输一个8位的数据,还需要一个校验位和停止位,共十位,所需时间是10*1/115200s,那么一秒能传输1/(10/115200)=11520bytes。
单片机与单片机/上位机通讯时必须是相同波特率,否则接收方不知道何时是起始位何时时停止位。会出现传输错误。

3.USART

在UART的基础上加上同步时钟就是USART(Universal Synchronous/Asynchronous Receiver Transmitter),全双工/半双工通用同步/异步收发器。
USART相比UART多了一个时钟线,通信双方会约定好在时钟的上升沿或下降沿读取数据,详细可参考下列博客。
USART UART串口通信详解

4.在iMX6ULL里tty与UART的对应关系

UART1对应ttymxc0
UART2对应ttymxc1
UART3对应ttymxc2



以此类推

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值