首先弄懂串行通信和并行通信以及串口通信和并口通信的概念。

串行通行:它是一个概念,它是指数据一位一位地顺序传送,其特点就是通信线路

简单,只要一对传输线就可实现双向通信,适用于远距离通信,但传输速度慢。它

包括普通的串口通信,I2C,SPI,UART...

串口通信:是一种实际通信方式,但是我们可以几乎看成一样.

串行接口:简称串口,或串行通信接口,或串行通讯接口(通常指com口)。

并行通信:如果一组数据的各数据位在多条线上同时被传输,那么就是并行通信。

并口接口:就是一种接口,各数据位同时被传输,传输速度快,效率高,一边可用于MCU。

串行通信又可分为单工,半双工和全双工

单工:信息只能单向传送。

半双工:信息能双向传送但不能同时。

全双工:信息能同时双向传送。

串行通信还可分为同步通信和异步通信

同步通信(两根线):是把许多字符组成一个信息组,这样,字符可以一个接一个地传输,但是,

在每组信息(通常称为信息帧)的开始要加上同步字符,在没有信息要传输时,要填上空字符,

因为同步传输不允许有间隙。同步方式下,发送方除了发送数据,还要传输同步时钟信号,

信息传输的双方用同一个时钟信号确定传输过程中每1位的位置

异步通信(一根信号线,没有时钟线):是一种很常用的通信方式。异步通信在发送字符时,所发送的字符之间的时间

间隔可以是任意的。当然,接收端必须时刻做好接收的准备。发送端可以在任意时刻开始发送字符,

因此必须在每一个字符的开始和结束的地方加上标志,即加上开始位和停止位,以便使接收端能够

正确地将每一个字符接收下来。异步通信的好处是通信设备简单、便宜,但传输效率较低(因为开始位和停止位的开销所占比例较大)。

同步通信与异步通信区别:

1.同步通信要求接收端时钟频率和发送端时钟频率一致,发送端发送连续的比特流;异步通信时

不要求接收端时钟和发送端时钟同步,发送端发送     完一个字节后,可经过任意长的时间间隔再发送下一个字节。
2.同步通信效率高;异步通信效率较低。

3.同步通信较复杂,双方时钟的允许误差较小;异步通信简单,双方时钟可允许一定误差。
4.同步通信可用于点对多点;异步通信只适用于点对点。

单片机中的SPI、UART、I2C

1、SPI

SPI允许单片机和外围设备或者单片机之间高速同步数据传输,SPI可以有主机和从机模式之选,通信的主从机之间通过移位寄存器同时交换数据。目前自己用的以主机模式居多。SPI需要四线:SS,MISO,MOSI,SCK。

通信过程:在设置好SPI的工作模式:包括SCK频率(数据传输速率),工作速度,主从模式,以及数据接收发送对应的时钟极性。在主模式下,将SS拉低表示通信的开始,然后通过向SPI数据寄存器中写入一字节的数据后自动启动时钟SCK开始进行一次通信,通信完成后会产生相应的中断标志,标志一个字节数据的传送完成。通信完成后将SS脚拉高,表示通信过程已经结束。

注意SS引脚的设置:当设置为从机模式时,SS引脚应设置为输入,拉低的时候SPI才能起作用,拉高的话是消极的SPI模式;在主机模式下,SS引脚可以设置,一般应设置为输出,如果设置为输入的话应保持为高,否则将不能进行正常的主机模式操作。

2、USART

USART的操作比较简单,主要是设置波特率,数据格式,以及中断允许位等,值得至于的是其USART IN SPI MODE,在SPI模式下的USART的操作跟SPI操作差不多,主要是Clock的设置,然后发送数据还是通过USART的中断进行

3、I2C

I2C接口是简单强大的通信接口,只需要两根双向总线(时钟和数据线),SCL和SDA,即可实现一个主机和最多128个从机进行通信。模拟I2C接口的过程:启动I2C,一般是在SCL为高时将SDA拉低启动数据发送,SDA只有在SCL为低时才能拉高拉低有效,在SCL为高时拉高拉低SDA只是用于停止启动I2C通信

I2C总线是 内部总线 ,用来连接内部系统内的芯片。
串口通信是用来和系统外部的设别通信的。比如设备和设备之间通信。

SPI,UAR,I2C都是串行通信方式,并行通信方式一般用的少,因为只适合

短距离,一般用于MCU比较多,因为MCU它对数据的传输速度有要求,而且

与塔相连的芯片一般会比较近。

MCU 他的属性要比CPU(这里指单片机,其他地方应该也是) 强,它包括CPU的性能,

且还有CPU没有的性能。

单片机中的几种通信方式相关推荐

  1. 单片机中存储器扩展位地址线怎么算_51单片机CPU结构各部件的原理详细分析

    一. 51单片机串行口工作原理 MCS-51系列单片机片内有一个串行I/O端口,通过引脚RXD(P3.0)和TXD(P3.1)可与外设电路进行全双工的串行异步通信. 1.串行端口的基本特点 8031单 ...

  2. ubuntu 串口调试工具推荐_谈一谈单片机开发的几种调试方案

    单片机开发过程中,有一个好的调试系统可以极大地提高开发效率. 举个例子,做平衡系统时调节PID参数,你会选择 修改参数–>编译–>烧录–>运行–>修改-,还是做一个功能可以一边 ...

  3. 谈一谈单片机开发的几种调试方案

    原文地址:http://nicekwell.net/blog/20170411/tan-%5B%3F%5D-tan-dan-pian-ji-kai-fa-de-ji-chong-diao-shi-fa ...

  4. 单片机中常用的串口通信协议帧

    单片机中常用的串口通信协议帧 前言 一.单片机串口简介 二.常用的通信协议类型 1.没有格式 2.帧头帧尾+数据 3.帧头帧尾+数据+附加功能码 4.帧头帧尾+数据+附加功能码+目标地址 5.帧头帧尾 ...

  5. 单片机中存储器扩展位地址线怎么算_小白学单片机 :AT89S51单片机基本硬件结构认识(2)...

    AT89S51单片机存储器的空间配置及功能结构 AT89S51单片机的存储器在物理结构上可以分为4个不同的存储空间:(1)内部程序存储器:(2)片内数据存储器:(3)片外数据存储器(最大可扩展到64K ...

  6. 单片机中如何将BCD码拆开_单片机二进制BCD码转换实验程序流程图

    二进制BCD码转换 一.实验目的 1.掌握简单的数值转换算法 2.基本了解数值的各种表达方法 二.实验说明 单片机中的数值有各种表达方式,这是单片机的基础.掌握各种数制之间的转换是一种基本功.我们将给 ...

  7. html5控制单片机,10.2 单片机中 PWM 的原理与控制程序

    PWM 在单片机中的应用是非常广泛的,它的基本原理很简单,但往往应用于不同场合上意义也不完全一样,这里我先把基本概念和基本原理给大家介绍一下,后边遇到用的时候起码知道是个什么东西. PWM 是 Pul ...

  8. 51单片机中使用ucos ii的优缺点(好文)

    摘要:近年来,在单片机系统中嵌入操作系统已经成为人们越来越关心的一个话题.本文通过对一种源码公开的嵌入式实时操作系统ucos ii的分析,以51系列单片机为例,阐述了在单片机中使用该嵌入式操作系统的优 ...

  9. java面试题9 牛客:不同的服务器之间,哪种通信方式是不可行的

    在一个基于分布式的游戏服务器系统中,不同的服务器之间,哪种通信方式是不可行的()? A管道 B消息队列 C高速缓存数据库 D套接字 首先看到这道题我是懵逼的,我们分别介绍一下各个的概念 管道为运行在同 ...

最新文章

  1. 蓝桥杯: 基础练习 数列排序
  2. Artificial Intelligence and Change Management
  3. [你必须知道的.NET] 第七回:品味类型---从通用类型系统开始
  4. 无浮动IP的虚机出公网流量路径
  5. mysql存储过程执行报错1175_mysql 数据库 存储过程执行报错的解决办法
  6. 【Elasticsearch】了解Elasticsearch写入磁盘的数据
  7. 跟驰理论 matlab,第5章跟驰理论48127855.ppt
  8. java jsch shell_如何在字符串中获取jsch shell命令输出
  9. 数据库点滴积累——索引
  10. C#socket编程序(二)
  11. php 判定是否是数组,php判断一个数组是否为有序
  12. NER | 命名实体识别在QQ音乐上的应用
  13. 每个叶子节点(nil)是黑色。_129. 求根到叶子节点数字之和
  14. html特殊乘转义字符,HTML特殊转义字符列表
  15. html页面乱码解决
  16. python弹窗炸弹
  17. 从我开发的深度学习框架看深度学习这几年:TensorFlow, PaddlePaddle(飞桨), 无量...
  18. 【2019年02月21日】股息率分红最高排名
  19. android开发工具类之获得WIFI IP地址或者手机网络IP
  20. 银行数字化转型导师坚鹏:金融科技与数字化转型成功案例

热门文章

  1. MySQL mysqld dead but subsys locked的解决办法_张童瑶的博客
  2. 什么是LHS查询和RHS查询
  3. 与同行的对比,M-DAO的崛起已成定局
  4. 区块链测试(一):测试人员初学区块链
  5. 什么是permit-inside功能
  6. Kafka SCRAM和PLAIN权限认证
  7. 数据库类型区分 原创
  8. 错排问题(装错信封问题)
  9. 潜渊症LINUX环境部署全流程
  10. 使用Guardium离群值检测来检测隐藏的威胁