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寄存器的设置。


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

    关注

    447

    文章

    47788

    浏览量

    409114
  • uart
    +关注

    关注

    22

    文章

    1159

    浏览量

    99956

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

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

收藏 人收藏

    评论

    相关推荐

    UART串口通信协议是什么?

    UART (Universal Asynchronous Receiver/Transmitter) 是一种通信接口协议,用于实现串口通信。它是一种简单的、可靠的、广泛应用的串口
    的头像 发表于 03-19 17:26 282次阅读

    SPI通信协议原理是什么

    Peripheral Interface,也就是串行外设接口,同样是一种通信协议,在很多芯片中都有集成。 相比之前学习的UART串口通信,他多了两根线,其中一个是时钟信号,另一个是设备使能信号,用来控制设备是否
    的头像 发表于 11-24 17:37 411次阅读
    SPI<b class='flag-5'>通信协议</b>原理是什么

    uart通信的详细讲解

    UART(UniversalAsynchronousReceiver/Transmitter,通用异步收发器)是一种常用的串行通信协议,广泛应用于单片机或各种嵌入式设备之间的通信。本文将详细介绍
    的头像 发表于 09-22 08:22 1690次阅读
    <b class='flag-5'>uart</b><b class='flag-5'>通信</b>的详细讲解

    浅谈Modbus通信协议

    Modbus通信协议是一种工业现场总线协议标准,常用的Modbus协议有以下三种类型:Modbus TCP、Modbus RTU、Modbus ASCll。
    发表于 09-20 15:56 959次阅读
    浅谈Modbus<b class='flag-5'>通信协议</b>

    SPI、UART、I2C通信协议的区别

    电子设备之间的通信就像人类之间的交流,双方都需要说相同的语言。在电子产品中,这些语言称为通信协议
    发表于 08-17 10:21 489次阅读
    SPI、<b class='flag-5'>UART</b>、I2C<b class='flag-5'>通信协议</b>的区别

    IP地址、端口号、通信协议的相关知识 TCP和UDP通信协议简述

    网络编程有三个要素,分别是IP地址、端口号和通信协议。本文主要讲述的是TCP与UDP这两种通信协议,以及编程的实现。首先,我们需要了解一下IP地址、端口号、通信协议的相关知识。
    的头像 发表于 07-18 11:20 1446次阅读
    IP地址、端口号、<b class='flag-5'>通信协议</b>的相关知识 TCP和UDP<b class='flag-5'>通信协议</b>简述

    UART通信原理详解

    通用异步收发传输器,通常称作UART,是一种异步收发传输器。是异步通信协议。特性:两根线,全双工,异步通信,速度较慢。
    发表于 06-28 15:26 1337次阅读
    <b class='flag-5'>UART</b><b class='flag-5'>通信</b>原理详解

    通信协议的作用、类型及优缺点

      通信协议是指在计算机网络中,为了使不同的计算机或网络设备之间能够相互通信而制定的一套规则和标准。通信协议规定了数据传输的格式、传输速率、传输控制、错误检测和纠正等方面的内容,以确保数据能够正确、高效地传输。常见的
    发表于 05-10 16:09 2997次阅读

    S7通信协议介绍 s7协议和profinet协议区别

    S7协议和Profinet协议都是工业自动化领域中常用的通信协议,其中S7协议是传统的工控领域常用的通信协议,而Profinet是近年来出现
    发表于 05-08 16:19 1.9w次阅读

    通信协议的特点

    通信协议的种类和特点目前常见的通信协议主要有:NetBEUI、IPX/SPX、NWLink、TCP/IP,在这几种协议中用得最多、最为复杂的当然还是TCP/IP协议,最为简单的是Net
    发表于 05-06 14:57 984次阅读

    通信协议内容与功能

    通信协议不难理解,就是两个(或多个)设备之间进行通信,必须要遵循的一种协议通信协议是指双方实体完成通信或服务所必须遵循的规则和约定。通过
    发表于 05-06 14:43 2124次阅读

    常用的通信协议有哪些

    通信协议(communications protocol)官方给出的定义是指双方实体完成通信或服务所必须遵循的规则和约定。协议定义了数据单元使用的格式,信息单元应该包含的信息与含义,连接方式,信息发送和接收的时序
    发表于 05-06 14:36 1.6w次阅读

    通信协议的概念

    通信协议是指在通信过程中,为了使得不同设备之间进行有效的数据交换,所约定的一整套规则和标准。通信协议中定义了通信双方的接口、数据格式、传输速率、传输控制和数据处理等细节,从而确保了
    发表于 05-06 14:32 1447次阅读

    形象生动的理解软、硬件层面的通信协议

    众所周知通信协议就是一种数据传输的协议规范,从软硬件层面可以分为硬件层通信协议和软件层通信协议
    发表于 05-06 09:15 393次阅读
    形象生动的理解软、硬件层面的<b class='flag-5'>通信协议</b>

    浅析ModBus通信协议的相关知识

      概 述   Modbus是一种串行通信协议,是Modicon公司(现在的施耐德电气Schneider Electric)于1979年为使用可编程逻辑控制器(PLC)通信而发表。Modbus
    发表于 05-05 15:51