物理层:规定通讯系统中具有机械、电子功能部分的特性,确保原始数据在物理媒体的传输。其实就是硬件部分。

协议层:协议层主要规定通讯逻辑,统一收发双方的数据打包、解包标准。其实就是软件部分。

简单来说物理层规定我们用嘴巴还是用肢体来交流,协议层则规定我们用中文还是英文来交流。

物理层

  1. RS232标准
  2. USB转串口(TTL)
  3. 原生的串口到串口(TTL->TTL)

RS-232 与 TTL 电平区别

TTL:一般是直接从单片机或者芯片里面出来的电平,逻辑1为2.4V-5V逻辑0为0-0.5v(一般高电平位5V或者3.3V,低电平为0)

RS232: 逻辑 1-15V~-3V逻辑 0:+3V~+15V(低电平为-15V,高电平为15V峰值差别大,不以0为低电平,)

RS232标准串口通讯结构图

控制器AB可以理解为芯片,出来的是TTL电平,经过电平转换芯片(MAX3232,SP3232),转换成RS232电平.

RS232串口一般用于工业,对于防止静电....很好...

对于没有232串口的STM32板子,可以去某宝买一个232串口,一般长这个样.(RXD TXD VCC GND 黑色的小块为电平转换芯片 银色的接口为DB9接口,DB9串口先将两个DB9接口连接,将RXD TXD分别连接STM32的USTAR串口的引脚,VCC GND接好板子相应的位置(杜邦线),也可以用USB转串口线连接(电平转换芯片为CH340,PL2303,CP2102)电脑上,需要安驱动.)

USB转(RXD<->TXD TXD<->RXD)

原生的串口到串口

1、原生的串口通信主要是控制器跟串口的设备或者传感器通信,不需要经过电平转换芯片来转换电平,直接就用TTL电平通信

2、GPS模块、GSM模块、串口转WIFI模块、HC04蓝牙模块

协议层

串口数据包的基本组成

起始位:由1个逻辑 0 的数据位表示

结束位:由 0.5、 1、 1.5 或 2 个逻辑 1 的数据位表示

有效数据:在起始位后紧接着的就是有效数据,有效数据的长度常被约定为 5、 6、 7 或 8 9位长

校验位:可选,为的是数据的抗干扰性。

校验方法分为:

1-奇校验(odd)、   2-偶校验(even)

3-0 校验(space)、 4-0校验(mark)

5-无校验(noparity)

奇校验(odd) :有效数据和校验位中“ 1”的个数为奇数

比如一个 8 位长的有效数据为: 01101001,此时总共有 4 个“ 1”,为达到奇校验效果,校验位为“ 1”,最后传输的数据将是 8 位的有效数据加上 1 位的校验位总共 9 位

偶校验(even) :有效数据和校验位中“ 1”的个数为偶数

比如一个 8 位长的有效数据为: 01101001,此时总共有 4 个“ 1”,为达到偶校验效果,校验位为“ 0”,最后传输的数据将是 8 位的有效数据加上 1 位的校验位总共 9 位

0 校验是不管有效数据中的内容是什么,校验位总为“ 0”。

1 校验是校验位总为“ 1”。

无校验就是数据包中不包含校验位

最新文章

  1. 一个上好的C# http/https类
  2. qt (5.60/5.70) 编译 QOCI 驱动
  3. ASP.NET后台执行JS代码
  4. 利用VMware虚拟机(Android-x86 2.2)和eclipse,调试安卓代码
  5. Window Phone 8开发问题反思
  6. 使用ServiceStackRedis链接Redis简介
  7. ios的一些开源资源
  8. HTML DOM nodeName nodeValue
  9. MySQL生产库全库备份脚本
  10. Linux Centos 6.9中SSH默认端口修改的坑
  11. WebUploader上传文件(一)
  12. iOS实现微信外部H5支付完成后返回原APP
  13. ●BZOJ 1492 [NOI2007]货币兑换Cash
  14. AX2009 批处理作业中使用多线程---独立任务模式
  15. 搜狗拼音输入法 V9.1.0.2589 最新去广告精简优化版
  16. rest_framework常用设置
  17. Weblogic(CVE-2017-10271)漏洞复现
  18. POJ1062:昂贵的聘礼(枚举+迪杰斯特拉)
  19. Sequelize-nodejs-6-Instances
  20. 图形 - bootStrap4常用CSS笔记

热门文章

  1. [WEB安全]XXE漏洞总结
  2. 1.linux 基本操作和命令
  3. Java 面向对象(十一)
  4. What is the difference between XSS and CSRF from their execution perspective?
  5. 微信小程序里自定义组件,canvas组件没有效果
  6. Eclipse自动生成作者、日期注释等功能设置 (转载)
  7. 数字图像处理--算术、几何、谐波、逆谐波均值滤波器Matlab
  8. npm如何更新安装包?
  9. Python Re 模块超全解读
  10. java生成RSA公私钥字符串,简单易懂