串口通信——串口uart
在两个mcu中发送数据,可选择串行通讯,或者并行通讯。
假设要通信传输一个十进制数198,在通信过程中转换为二进制数11000110。
串行通讯需要在MCU间连接一根数据线,按照二进制位顺序发送即可。通信距离可以达到几米甚至几千米。
并行通讯需要八根数据线,每次发送八位二进制数。无法携带时钟信息,需要额外的时钟信号线,相对来说,成本高,抗干扰能力差,通信距离有限。
两种通讯方式相比较,串口通讯使用更加广泛。主要有Sbus,PPM,JTAG,UART,i2C,CAN,SPI,MIDI,USB,RS232,Morse Code等串行通讯协议。
根据时钟的不同,串行通信分为同步通信和的异步通信。
同步通讯:使用频率一致的的时钟,接收方时刻准备好接收数据,辅助bit串作为启停标识,效率高,支持一对多进行通讯。典型代表:i2C,SPI。
异步通讯:进行通讯的双方使用各自的时钟,接收方通过识别数据包中的起始位和结束为来实现信息同步。数据效率低,只支持一对一通讯。典型代表:UART。
详细解释UART通讯方式。
使用UART协议进行通讯,需要三根数据线。发送数据:TX,接收数据:RX,参考:GND。需要知晓通讯双方的波特率,数据长度和开始停止bits。
例如,当接收器收到信号由高变低表示可以准备开始读取数据(解释下为什么是准备开始读取数据:当我们检测到数据起始位,开始读取数据时,通常延后52微秒再开始读取数据,原因是刚开始的时候数据不稳定),读取一个数据长度后,读取到停止bits后,停止读取数据。这里的开始或者停止bits相当于一个参考位置。
关于波特率,常用的波特率是9600,意思是每秒发送9600个码元,每个码元的长度是1,除以9600等于104微秒。描述接收机读取数据的速度,9600波特率的接收机在开始读取数据后,每隔104微秒采集一次数据,直到八位数据读取完毕,读取到数据停止位。
串口通信——串口uart相关推荐
- ARM内核单片机的串口通信(UART)使用(数据的收发)
ARM内核单片机的串口通信(UART)使用 进入正题: 首先,要明白使用UART进行通信,无论收发数据,传输的都是16进制.而中文.英文.标点符号其本质都是16进制,只是一个中文需要用两个字节表示,一 ...
- (一)FPGA之串口通信(UART)
(一)FPGA之串口通信(UART) 回到梦开始的地方,如今回过头来看串口协议,确实清晰了很多,但是奈何好记性不如烂笔头,我还是要重新记录一下学习的知识点,方便查找和学习. 波特率(Band Rate ...
- 搭建机器人电控系统——通信协议——串口通信USART/UART、RS232、RS485及其实例
通信协议 串口通信详解 IIC通信详解 SPI通信详解 CAN通信详解 文章目录 通信协议 什么是串口? 串口分类 USART/UART.RS232.RS485的区别 串口协议原理 传输协议 需要定义 ...
- 串口通信之 UART
1.介绍 UART (Universal Asynchronous Receiver and Transmitter)即通用异步接收发送器,是一种通用的串行数据总线,属串口通信的一种,用于异步通信.该 ...
- 51单片机-串口通信(串口向电脑发送信息电脑通过串口控制LED)
文章目录 前言 一.串行通信口的功能以及串行通信口的结构及原理 1.1 串行通信口的功能 1.2 51单片机串口的结构 二.串行通信口的控制寄存器 2.1 串行控制寄存器SCON 2.2 电源控制寄存 ...
- MFC串口通信串口指示灯的实现
前一段做了个串口通信小软件,当打开串口时串口指示灯亮,关闭串口时串口指示灯灭,实现方法如下: 1.在资源视图中,添加两个图标,分别为串口指示灯灭IDI_ICON1,串口指示灯亮IDI_ICON2. 2 ...
- Android串口通信:串口读写
FROM:http://blog.csdn.net/burly/article/details/50512379 公司有个项目要用到串口通信,同事有写好一个DEMO,用的时候发现会有问题,从jni读串 ...
- 项目总结一:串口通信 || 串口接收数据和写入的数据不一致
在做项目串口通信时遇到一个奇怪的bug,我写入的一个两个字节short类型数据3,接受到的数据很奇怪有时是一个很大的数,有时又是300多,为了找到原因也是废了一些时间,这里给分享一下,希望对做串口通信 ...
- 【ESP32学习笔记】#外设篇#(3)串口通信(UART)
一.简介 官方文档:UART ESP32 有 3 个 UART 控制器(UART0.UART1 和 UART2),它们具有一组相同的寄存器. 每个 UART 控制器均可独立配置参数,如波特率.数据位长 ...
最新文章
- 201621123055《JAVA程序设计》第七周学习总结
- java synchronized 使用_Java中Synchronized的用法
- Siebel Admin: Siebel task manager commands
- 实现歌词效果自动滚动_只需五步,专业Pr软件实现视频歌词渐变色效果,你学会了吗?...
- G - Best ACMer Solves the Hardest Problem Gym - 101955G
- [我研究]Behavior Based Software Theft Detection - Hawk
- Homebrew更换源
- cocos2d-x 如何使用Visual Studio 2010和xcode 4混合编写手机游戏
- css3伸缩布局(附实例、图解)
- Cisco 路由器ntp服务配置
- welearn考试切屏会有显示吗_welearn班级测试答案
- 面试经常考的五个Sql查询
- 换发型特效怎么制作?建议收藏这些方法
- Ultraiso制作Centos7 优盘Udisk 启动镜像
- 智慧养老模式和智慧养老系统
- matplotlib 绘制柱状图且上方显示数据
- 高数 | 旋转体体积的一般公式
- 终于可以向重复的鉴权代码说byebye 了 -- (玩转 AOP和Annotation )
- MosMedData: 新冠肺炎胸部 CT扫描数据集上基于3D-CNN实现二分类
- 汽车倒车雷达系统设计
热门文章
- Consider defining a bean of type ‘com.zsb.dao.UserDao‘ in your configuration.
- 测试基本技巧与方法;
- 数据结构课设(散列表的设计与实现---电话号码查找系统)
- 【2020年11月】研读和改进淘宝自动下单程序
- 如何在SQL Server 2005中修复损坏的数据库
- VMware,Inc. (Virtual Machine ware)
- 正则匹配---匹配包含指定字符串
- 测试小故事74:没有计划的日子
- 九、JavaSE-Set接口
- Android果冻效果(阻尼动画)