0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

UART通信协议及小练

j4AI_wujianying 来源:未知 作者:易水寒 2017-12-21 16:27 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

UART是用于控制计算机与串行设备的芯片。有一点要注意的是,它提供了数据终端设备接口,这样计算机就可以和调制解调器或其它使用RS-232C接口的串行设备通信了。作为接口的一部分,UART还提供以下功能:

将由计算机内部传送过来的并行数据转换为输出的串行数据流;

将计算机外部来的串行数据转换为字节,供计算机内部使用并行数据的器件使用;

在输出的串行数据流中加入奇偶校验位,并对从外部接收的数据流进行奇偶校验;

在输出数据流中加入启停标记,并从接收数据流中删除启停标记;

处理由键盘或鼠标发出的中断信号(键盘和鼠票也是串行设备);

可以处理计算机与外部串行设备的同步管理问题;

异步串口通信协议,工作原理是将传输数据的每个字符以串行方式一位接一位的传输。如下图:

UART通信协议及小练

其中每一位(bit)的意义如下:

起始位:先发出一个逻辑“0”的信号,表示传输字符的开始。

数据位:紧跟起始位之后。数据位的个数可以是4、5、6、7、8等,构成一个字符。通常采用ASCII码。从最低位开始传送,靠时钟来定位。

奇偶校验位:数据位加上这一位后(跟在数据位尾部),使得“1”的位数应为偶数(偶校验)或奇数(奇校验),以此来校验数据传送的正确性。

停止位:它是一个字符数据的结束标志。可以是1位、1.5位、2位的高电平(逻辑“1”)。

空闲位:处于逻辑“1”状态,表示当前线路上没有数据的传送。

波特率:是衡量数据传输速率的指针。表示为每秒钟传送的二进制位数(bit数)。例如资料传送速率为120字符/秒,而每一个字符为10位,则其传送的波特率为:

10×120%20=%201200字符/秒=1200波特。

以上的数据位、奇偶校验位、波特率等均可以在COM接口中设置。也可以在代码中对UART寄存器的各位进行设置,UART寄存器的各位所代表的含义如下:

下面通过几个小程序,了解UART通信协议进行数据传输的过程:

UART通信协议及小练

在这里我们使用 uart_init 函数便完成了UART各个位的设置,现在来看看uart_init在系统中是如何定义的:

UART通信协议及小练

UART0 --- UART2 便是开发板为我们提供的三个寄存器,通过rUFCON、rUMCON、rULCON、rUCON、rUBRDIV 等引脚的赋值完成UART寄存器的设置。


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 芯片
    +关注

    关注

    462

    文章

    53539

    浏览量

    459168
  • uart
    +关注

    关注

    22

    文章

    1304

    浏览量

    106117

原文标题:嵌入式学习笔记之UART通信协议

文章出处:【微信号:wujianying_danpianji,微信公众号:单片机精讲吴鉴鹰】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    SPI、I2C、I2S、UART通信协议解释

    不能?本文一次梳理清楚。 一、通信协议快速对照表 协议 全称 线数 通信方式 速率 应用场景 特点 SPI Serial Peripheral Interface 4根常用线(MOSI, MISO
    的头像 发表于 11-18 10:53 209次阅读

    SPI、I2C、I2S、UART通信协议对比表

    ,有的不能?本文一次梳理清楚。一、通信协议快速对照表协议全称线数通信方式速率应用场景特点SPISerialPeripheralInterface4根常用线(MOSI
    的头像 发表于 11-17 10:53 1174次阅读
    SPI、I2C、I2S、<b class='flag-5'>UART</b>:<b class='flag-5'>通信协议</b>对比表

    Xilinx FPGA串行通信协议介绍

    Xilinx FPGA因其高性能和低延迟,常用于串行通信接口设计。本文深入分析了Aurora、PCI Express和Serial RapidIO这三种在Xilinx系统设计中关键的串行通信协议。介绍了它们的特性、优势和应用场景,以及如何在不同需求下选择合适的
    的头像 发表于 11-14 15:02 1911次阅读
    Xilinx FPGA串行<b class='flag-5'>通信协议</b>介绍

    分布式能源并网的通信协议有哪些?

    在分布式能源(如光伏、储能、微电网)并网场景中,通信协议需满足 设备互联、数据传输、远程控制、调度协同 等核心需求,不同协议因设计目标不同,适用于从设备层到调度层的不同层级。以下按 “国际标准协议
    的头像 发表于 09-18 16:40 974次阅读
    分布式能源并网的<b class='flag-5'>通信协议</b>有哪些?

    工业通信协议都有哪些?#三格电子

    通信协议
    三格电子科技
    发布于 :2025年08月28日 10:35:26

    哪些协议是工业通信协议?#三格电子

    通信协议
    三格电子科技
    发布于 :2025年08月27日 14:16:07

    芯知识|广州唯创电子语音芯片UART通信协议解析:发码长度与校验码计算

    一、UART通信协议概述UART(通用异步收发器)是一种广泛应用于嵌入式系统的串行通信协议,其核心特点为无需时钟同步,通过起始位、数据位、校验位和停止位构成数据帧。在语音芯片应用中,
    的头像 发表于 05-27 08:48 526次阅读
    芯知识|广州唯创电子语音芯片<b class='flag-5'>UART</b><b class='flag-5'>通信协议</b>解析:发码长度与校验码计算

    Modbus 转 Profinet:工业通信协议的桥梁

    1. 引言 在工业自动化领域,Modbus 和 Profinet 是两种广泛使用的通信协议。Modbus 是一种串行通信协议,常用于连接工业电子设备,而 Profinet 是一种基于以太网的工业
    的头像 发表于 02-24 11:11 691次阅读
    Modbus 转 Profinet:工业<b class='flag-5'>通信协议</b>的桥梁

    PCM4201与DSP之间的通信协议是什么?

    关于PCM4201 与 DSP 之间的通信协议
    发表于 02-08 08:17

    Dali通信的工作原理 如何使用Dali通信协议

    一、引言 Dali(Digital Addressable Lighting Interface,数字可寻址照明接口)是一种用于照明控制产品之间双向通信协议。通过Dali通信协议,可以实现对照
    的头像 发表于 01-31 10:33 4425次阅读

    详解REST API通信协议

    的一环。 为了实现这一目标,我们采用了多种通信协议,包括MQTT、OPC UA、AMQP和REST API,它们共同构成了智能通信的坚实基础。本期内容,让我们聚焦REST API通信协议,探索它如何在IIoT领域中发挥关键作用。
    的头像 发表于 01-17 12:40 1613次阅读
    详解REST API<b class='flag-5'>通信协议</b>

    搞懂TTL、RS232、485通信协议

    本文介绍了TTL、RS232和RS485这三种常见的通信协议的传输距离、应用场景以及影响通信距离的各种因素。TTL是一种短距离通信标准,通常用于同一电路板内的通信;RS232是一种传统
    的头像 发表于 01-16 10:59 1.1w次阅读
    搞懂TTL、RS232、485<b class='flag-5'>通信协议</b>!

    总线通信协议解析及应用

    在现代计算机系统中,总线通信协议扮演着至关重要的角色。它们定义了数据如何在处理器、内存、输入/输出设备等组件之间传输。 总线通信协议的基本概念 总线通信协议是一组规则,它规定了数据在系统总线上的传输
    的头像 发表于 12-31 10:07 1926次阅读

    常见串口通信协议 如何设置串口参数

    ,使用9针或25针的D-sub连接器。它支持全双工通信,但传输距离和速率有限。 RS-485 :这是一种差分信号的串行通信协议,可以支持更远距离和更高速率的通信,常用于工业现场总线。 UART
    的头像 发表于 12-27 09:51 4723次阅读

    AUTOSAR通信协议解析 如何实现AUTOSAR通信

    通信协议栈是一个复杂的系统,它涵盖了多种通信方式和模块,以实现车内ECU之间的高效、可靠的数据交换。以下是对AUTOSAR通信协议的解析及实现AUTOSAR通信的方法: 一、AUTOS
    的头像 发表于 12-17 14:54 3956次阅读