news 2026/4/25 12:29:18

自学嵌入式day47,串口

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
自学嵌入式day47,串口

UART 技术解析

一、核心概念

通用异步收发器(Universal Asynchronous Receiver/Transmitter)是一种采用异步通信全双工模式的串行数据传输协议。其硬件接口内置独立通信规则,无需外部时钟同步。

二、物理连接
设备A 设备B TXD --------- RXD RXD --------- TXD GND --------- GND

⚠️交叉连接原则:发送端(TXD)必须对接接收端(RXD),电源地(GND)需共地。

三、通信特性
模式数据线数量通信方向
单工1固定单向(如广播)
半双工1双向分时(对讲机模式)
全双工2双向实时(电话模式)
四、数据传输原理
  1. LSB 优先
    数据 $b_0b_1...b_7$ 的发送顺序为:$b_0 \rightarrow b_1 \rightarrow \cdots \rightarrow b_7$
    示例:数据A6(二进制10100110)发送序列:
    $$0 \rightarrow 1 \rightarrow 1 \rightarrow 0 \rightarrow 0 \rightarrow 1 \rightarrow 0 \rightarrow 1$$

  2. 串行 vs 并行

    • 串行:单线逐位传输,抗干扰强,成本低
    • 并行:多线同时传输,速率高,成本高
五、帧结构时序

▷ 起始位:1 bit 低电平
▷ 数据位:5~9 bits(含 LSB)
▷ 停止位:1~2 bits 高电平

六、差错检测
校验类型校验位值数据规则
奇校验1$\sum(\text{数据位}1) \mod 2 = 0$
偶校验0$\sum(\text{数据位}1) \mod 2 = 1$
无校验-不检测
七、参数配置格式

波特率 数据位 校验 停止位
示例:

  • 9600 8 N 1:波特率9600,8位数据,无校验,1位停止
  • 115200 8 O 1:波特率115200,8位数据,奇校验,1位停止

波特率:$bps = \frac{f_{osc}}{12 \times (256 - TH1) \times 2^{SMOD}}$

八、寄存器配置
  1. SCON(98H)

    bit名称功能
    B7SM0/FE工作模式选择/帧错误检测
    B6SM1工作模式选择
    B4REN接收使能(1=允许)
    B1TI发送中断标志(需软件清零)
    B0RI接收中断标志(需软件清零)
  2. 波特率计算
    定时器1(8位自动重装模式):
    $$TH1 = 256 - \frac{2^{SMOD} \times f_{osc}}{32 \times 12 \times bps}$$
    示例:$f_{osc}=11.0592MHz, bps=9600, SMOD=0$ 时:
    $$TH1 = 256 - \frac{1 \times 11.0592 \times 10^6}{32 \times 12 \times 9600} \approx 253$$

九、代码实现(Python模拟)
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/23 15:58:39

通义千问2.5-7B-Instruct功能测评:代码生成能力实测

通义千问2.5-7B-Instruct功能测评:代码生成能力实测 近年来,随着大语言模型在编程辅助领域的广泛应用,开发者对模型的代码理解与生成能力提出了更高要求。通义千问2.5-7B-Instruct作为阿里云于2024年9月发布的中等体量全能型开源模型&#x…

作者头像 李华
网站建设 2026/4/23 8:37:31

opencode构建项目规划Agent:AI驱动软件设计流程详解

opencode构建项目规划Agent:AI驱动软件设计流程详解 1. 引言:AI编程助手的演进与OpenCode的定位 随着大语言模型(LLM)在代码生成领域的持续突破,开发者对智能化编程工具的需求从“辅助补全”逐步升级为“全流程协同”…

作者头像 李华
网站建设 2026/4/23 13:52:50

OpenCode Plan模式实战:复杂项目规划,云端GPU加速

OpenCode Plan模式实战:复杂项目规划,云端GPU加速 你是不是也遇到过这样的情况:作为架构师,手头有个微服务项目要设计,模块多、依赖复杂、上下游交互频繁,光靠脑子想或者用纸笔画图根本理不清逻辑&#xf…

作者头像 李华
网站建设 2026/4/19 9:36:25

工业自动化中risc-v五级流水线cpu实现:手把手教程

从零构建工业级 RISC-V 五级流水线 CPU:实战全解析在智能制造和工业4.0的浪潮下,控制系统对实时性、能效比与自主可控性的要求达到了前所未有的高度。传统的商用处理器虽然功能强大,但在关键路径延迟、中断响应确定性和IP授权依赖方面逐渐暴露…

作者头像 李华
网站建设 2026/4/20 20:50:20

零基础玩转AI修图:fft npainting lama从安装到使用

零基础玩转AI修图:fft npainting lama从安装到使用 1. 快速入门与环境准备 1.1 技术背景与应用场景 在图像处理领域,图像修复(Image Inpainting) 是一项极具实用价值的技术。它能够智能地“填补”用户指定的图像区域&#xff0…

作者头像 李华
网站建设 2026/4/25 9:07:17

OpenDataLab MinerU快速上手:10分钟完成镜像部署与测试

OpenDataLab MinerU快速上手:10分钟完成镜像部署与测试 1. 引言 随着企业数字化转型的深入,非结构化文档(如PDF、扫描件、PPT)中的信息提取需求日益增长。传统OCR工具虽能识别文字,但在理解上下文、解析图表逻辑和提…

作者头像 李华