当前位置: 首页 > news >正文

嵌入式学习 51单片机(3)

UART 概述

通用异步收发器(UART)是一种全双工、串行、异步通信协议,常用于设备间数据传输。包含两根信号线:

  • RXD(接收信号线)
  • TXD(发送信号线)

通信方式

单工

  • 通信方向固定,仅支持单向传输(如广播)。
  • 单根信号线实现数据传输。

半双工(如I2C)

  • 通信双方可切换发送/接收角色。
  • 单根信号线双向传输,但同一时刻只能单向传输。

全双工(UART)

  • 通信双方同时收发数据。
  • 双信号线(RXD/TXD)实现双向实时传输。

数据传输规则

LSB优先

  • 数据位传输从最低位(LSB)开始。

串行 vs 并行

特性串行并行
速率较慢(逐位传输)较快(多线同时传输)
硬件成本
抗干扰性强(适合远距离,如RS485)弱(30米内有效)

串口通信时序

  1. 空闲状态:高电平。
  2. 起始位:高→低电平跳变,标志通信开始。
  3. 数据位:8位(LSB优先),可配置为5-9位。
  4. 校验位(可选):奇偶校验(见下文)。
  5. 停止位:高电平,标志帧结束(通常1-2位)。

奇偶校验

问题:无法检测偶数个位错误。

  • 奇校验:数据位+校验位中“1”的总数为奇数。
  • 偶校验:数据位+校验位中“1”的总数为偶数。

串口参数配置

常见参数组合

  • 9600,8,N,1(波特率9600,8位数据,无校验,1位停止)
  • 2400,8,E,1(偶校验)
  • 115200,8,O,1(奇校验)

参数说明

  • 波特率:bps(如9600=9600bit/s)。
  • 校验位N(无)、E(偶)、O(奇)。

同步与异步通信

  • 同步(如I2C/SPI):依赖共享时钟线(SCL/SCLK)同步数据。
  • 异步(UART):无时钟线,通过预定义波特率同步。

寄存器配置(以8051为例)

SCON/PCON寄存器

  • 工作模式:SM0=0SM1=1(8位UART)。
  • 允许接收:REN=1
  • 中断标志:TI(发送完成)、RI(接收完成),需软件清零。

定时器配置

  • 模式:TMOD=0x20(定时器1,8位自动重载)。
  • 波特率:写入TH1/TL1初值,TCON.TR1=1启动。

中断配置

  • 全局中断:IE.EA=1
  • 串口中断:IE.ES=1

主从应答机制

  • 主机:发起通信请求(如发送指令01控制LED)。
  • 从机:解析指令并执行操作,返回应答信号。

补充要点

  1. 差分信号(如RS485):增强抗干扰能力,适合长距离通信。
  2. 硬件流控:通过RTS/CTS信号线控制数据流,避免缓冲区溢出。
  3. 现代应用:USB转UART芯片(如CH340)简化嵌入式调试。

常见问题

  • 波特率误差:需保证收发双方误差<2%(如晶振精度影响)。
  • 电平标准:UART通常为TTL电平(0-3.3V/5V),与RS232(±12V)需电平转换。

通过合理配置参数和寄存器,UART可实现稳定可靠的设备间通信。


文章转载自:

http://1kfYRUMm.rgxLL.cn
http://Q6VceNpS.rgxLL.cn
http://BuSl2fl9.rgxLL.cn
http://YdzEm6dn.rgxLL.cn
http://vYGxsjku.rgxLL.cn
http://RAaqgpBF.rgxLL.cn
http://kTnldV7z.rgxLL.cn
http://4Ljo7vNG.rgxLL.cn
http://BX1znrz5.rgxLL.cn
http://KCvzLp3y.rgxLL.cn
http://UIOUJoBM.rgxLL.cn
http://oQ30J5ZV.rgxLL.cn
http://n0GygCHf.rgxLL.cn
http://WkxjAGxZ.rgxLL.cn
http://hdtGpVGm.rgxLL.cn
http://LZt3kgIh.rgxLL.cn
http://zfBkwuoB.rgxLL.cn
http://k14eLzWA.rgxLL.cn
http://wtv5zrLa.rgxLL.cn
http://uNCVFG4A.rgxLL.cn
http://uR0gaBC3.rgxLL.cn
http://4MNCbECq.rgxLL.cn
http://6aoyouas.rgxLL.cn
http://HYqedtiq.rgxLL.cn
http://toh9SELK.rgxLL.cn
http://JlqE3PlM.rgxLL.cn
http://sk2r4l3D.rgxLL.cn
http://zUfniWLd.rgxLL.cn
http://B5kyhmch.rgxLL.cn
http://ruprP0XW.rgxLL.cn
http://www.dtcms.com/a/366944.html

相关文章:

  • 详细学习计划
  • 深度解读《实施“人工智能+”行动的意见》:一场由场景、数据与价值链共同定义的产业升级
  • CLIP模型
  • 深度学习篇---SENet网络结构
  • JS初入门
  • 大数据开发计划表(实际版)
  • TypeScript 增强功能大纲 (相对于 ECMAScript)
  • LLAMAFACTORY:一键优化大型语言模型微调的利器
  • DeepSeek文献太多太杂?一招制胜:学术论文检索的“核心公式”与提问艺术
  • Android AI客户端开发(语音与大模型部署)面试题大全
  • hutool的EnumUtil工具类实践【持续更新】
  • 从基础到实践:Web核心概念与Nginx入门全解析
  • 深度学习:基于自定义 ResNet 的手写数字识别实践(MNIST 数据集)
  • Day35 网络协议与数据封装
  • Vue 3 学习路线指南
  • C语言基础:内存管理
  • 大模型应用开发框架 LangChain
  • Deeplizard深度学习课程(六)—— 结合Tensorboard进行结果分析
  • 小程序:12亿用户的入口,企业数字化的先锋军
  • 【C++题解】关联容器
  • 15,FreeRTOS计数型信号量操作
  • PMP新考纲练习题10道【附答案解析】
  • 开源技术助力企业腾飞,九识智能迈入‘数据驱动’新纪元
  • Docker(①安装)
  • [Windows] PDF工具箱 PDF24 Creator 11.28.0
  • 阿里云轻量应用服务器部署-WooCommerce
  • Java全栈开发面试实战:从基础到高并发的深度解析
  • 并非银弹,而是利器:对软件开发工具的深度探讨与理性思考
  • 使用 Sentry 为 PHP 和 Web 移动小程序提供多平台错误监控
  • 文心iRAG - 百度推出的检索增强的文生图技术,支持生成超真实图片