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

嵌入式设备通信--UART

一、概述

1、数据传输模式

   并行通信与串行通信
通信模式说明
串行通信

将数据拆分成一个个比特,按照先后次序在一根总线上进行发送

占用资源少、结构简单

与并行通信相比通信距离较长

常见串行通信有UART、IIC

并行通信

可以实现多比特数据同时传输,传输速率高

占用芯片资源较多、成本较高

适用于短距离通信

常见并行通信有PIC、RAM

   单工、半双工、全双工
工作模式说明
单工模式

通过一根总线实现数据传输

主机通信收发方固定,只能单向接受/发送数据

半双工

通过一根总线实现数据传输

数据可以双向交互(能收也能发)

不能同时收发

全双工

通过两根总线实现数据传输

数据可以在两个方向进行(允许同时收发)

   异步通信与同步通信

        同步通信:通信双方通过共享时钟信号同步数据传输时序(如SPI、I2C)

        异步通信:无统一时钟、通过起始位与停止位标识边界(如UART)

2、UART

        UART是一种全双工(通过Tx和Rx两各引脚实现同步收发)异步串行通信协议,用于在设备间的数据传输

        使用UART进行数据传输时,双方需定义数据传输速率(波特率),只有在双方波特率匹配时数据才能准确收发

        波特率计算公式

        BaudRate = Ref Freq/(16 ((UBMR + 1) / (UBIR + 1)))

        BaudRate:波特率

        RefFreq:时钟频率

        UBMR、UBIR:调节参数,用于调整波特率数值

        UART数据传输的过程如下图所示

  • 空闲时数据线为高电平,发送方拉低电平表示起始位
  • 数据位用于存储实际发送的数据(5 - 9位,一般为8位)
  • 校验位用于错误检测(奇偶校验)
  • 停止位:1 - 2位逻辑高电平,标志数据包发送结束

        UART的特点

优点缺点
简单易用,硬件成本低通信速度较慢
支持长距离通信(RS-485)仅支持点对点通信
抗干扰强数据帧长度固定,不灵活

二、使用示例

1、串口初始化

void uart1_init(void)
{IOMUXC_SetPinMux(IOMUXC_UART1_RX_DATA_UART1_RX, 0);IOMUXC_SetPinMux(IOMUXC_UART1_TX_DATA_UART1_TX, 0);IOMUXC_SetPinConfig(IOMUXC_UART1_TX_DATA_UART1_TX, 0x10B0);IOMUXC_SetPinConfig(IOMUXC_UART1_RX_DATA_UART1_RX, 0x10B0);//复位UART1->UCR2 &= ~(1 << 0);    unsigned int t;t = UART1->UCR2;        //相关控制寄存器配置......UART1->UCR2 = t;UART1->UCR3 |= (1 << 2);UART1->UFCR &= ~(7 << 7);UART1->UFCR |= (5 << 7);UART1->UBIR = 999;        //波特率设置UART1->UBMR = 43401;//使能UART1UART1->UCR1 |= (1 << 0);
}

2、写入与接收

void putc(char ch)
{while((UART1->USR2 & (1 << 3)) == 0);    //发送完成标志位,检测是否已发送UART1->UTXD = ch;
}void puts (const char *p)
{while (*p){putc(*p++);}putc('\n');
}char getc(void)
{while((UART1->USR2 & (1 << 0)) == 0);    //接收完成标志位,检测是否接受到数据return UART1->URXD & 0xFF;
}

http://www.dtcms.com/a/411749.html

相关文章:

  • 甘肃道路运输安全员考试考什么
  • 制作一个网站的流程有哪些营销网站做推广公司
  • 做网站是用ps还是ai衡阳企业网站排名优化
  • 那里有个人做网站的公司排名seo
  • 医院网站建设招标说明网站seo标准
  • 若依是什么
  • 网站策划过程软件资源网站推荐
  • N-157基于springboot,vue服装商城系统
  • 做外贸上阿里巴巴什么网站电商平台用户数量排名
  • 杭州市建设信用网网站wordpress添加邮件发送
  • 免费创建网站 优帮云企业解决方案能力介绍
  • 没有建设的网站不能申请微信支付吗dw做网站导航条
  • 建筑安全类网站高级搜索技巧
  • 建设专业网站网站开发三剑客
  • 基于Django的内部网络资产发现与管理工具
  • typecho做网站广东建设厅官网
  • 哪个网站音乐做的最好的电子商务网站设计与建设
  • 网站建设平台硬件要求宁夏建设监理协会网站
  • Unity 虚拟仿真实验中设计模式的使用 ——命令模式(Command Pattern)
  • 海口专业网站建设公司重庆建站费用
  • 深度学习(6)python数据处理
  • 何做好网站建设销售中小学网站建设方案
  • 【实时Linux实战系列】延迟 SLI/SLO/SLA 设计与观测体系
  • NetworkPolicy 工作原理详解
  • Matlab通过GUI实现点云的中值滤波(附最简版)
  • 网站篡改搜索引擎js网站 目录 结构
  • 企业网站设计行业crm管理系统定制
  • 论文《Inference for Iterated GMM Under Misspecification》的例子3
  • 计算机图形图像技术实验报告
  • 编译DuckDB c++插件模板并加载运行