半小时搞懂STM32知识点——UART

1.UART

1.1为什么使用UART这种协议?介绍一下UART及其特点

成本低,硬件简单,数据格式灵活;

低速+全双工+异步+串行通信

1.2 UART数据帧格式

起始位(1)+数据位(5-8)+ 校验位(1)+停止位(0.5-2)

最高12位,最低7.5位。

1.3 请解释 UART 的奇偶校验?

奇校验:数据位中1的数目+校验位(0/1)的1数目是奇数

偶校验:数据位中1的数目+校验位(0/1)的1数目是偶数

1.4 UART与模块通信的全流程是什么

①初始化:两边需要设置成相同的波特率,数据位,校验位,停止位

②发送数据:发送方将数据放在内部的发送缓冲区中,按照预设的格式诸位发送。

③接收数据:检测到起始位后开始按设定的波特率接收数据位,存入内部的接收缓冲区

④错误检测和校正:如果开启了校验位,接收设备还会进行错误检测,并在检测到错误时进行相应的处理,可能包括请求重发等。

1.5 UART串口通讯,万一通讯出现异常,你是怎么解决的?异常后怎么处理?

①检查接线:硬件连接问题

②检查串口设置:确认串口的波特率、数据位、停止位和校验位等设置与通信对端一致。

③检查共地问题:通信双方是否有共地

④检查供电问题

异常之后可以采取:

①超时处理,重发或重新建立连接;

②错误检测和纠正:使用校验位或CRC校验检测和纠正数据中的错误;

③日志记录:记录通信过程中的异常情况,包括错误码、错误信息、时间戳等;

1.6 UART怎么确定数据正确性?

奇偶校验、CRC校验、应用层协议检查(应用层协议通常会定义特定的数据格式和结构。接收端可以根据协议规范对接收到的数据进行验证,例如检查数据长度、数据类型或其他应用层约定的字段。

1.7用UART做过数据包吗?出现粘包问题怎么办?

出现粘包问题,我们一般会采取,①增加起始标志和结束标志,②超时放弃接收,③固定包长度并且用添加特殊的分隔符 ④解析包的时候,使用状态机来处理,确保接收到完整的包;

1.8 UART为什么需要串口转换RS232RS485USB?

TTL电平:逻辑“1”通常为高电平(5V或3.3V),逻辑“0”为低电平(0V)。广泛应用于微控制器和数字电路中,不适合长距离传输。

RS232:相对于TTL电平,RS232使用更高的电压范围(通常+/-3V至+/-25V)。逻辑“1”(-3V到-25V)和逻辑“0”(+3V到+25V)的定义与TTL相反。它适用于长距离通信

USB(通用串行总线):用于计算机和外围设备之间的通信,支持更高的数据传输速率和电源传输。USB适配器、USB串口调试器。

RS485:使用差分信号传输,可以实现远距离和高可靠性通信,常用于工业环境。工业自动化、楼宇管理系统、仪器仪表等

1.9 IIC协议,UART协议,SPI协议异同点?和对应的使用场景?

协议UARTIICSPI
线数324
种类串行通信串行通信串行通信
方式异步全双工同步半双工同步全双工
主从011
速率速度慢速度中速度快
应用调试读取MPU驱动屏幕

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值