常见的协议汇总(小白个人理解,大佬勿喷)

背景 接触了一些芯片,发现所有的芯片而言,库和API接口随着芯片,开发环境甚至开发情况,公司都有着明显的区别。基于这种情况的话,了解协议的底层个人觉得是十分必要的,同时也是找工作的必备选项。所以对常见的嵌入式协议做一个个人的总结。本章节仅仅用于个人的学习和记录。常见的协议类型常用的协议(必备):SPI、IIC、USART、FSMC、8086相比较少一点协议(特定):485、CAN、I2S协议如何学习?个人学习了多家的嵌入式视频,觉得有一个方法觉得比较清楚:就是一个协议的话,一定是分为协议层
摘要由CSDN通过智能技术生成

背景

 接触了一些芯片,发现所有的芯片而言,库和API接口随着芯片,开发环境甚至开发情况,公司都有着明显的区别。基于这种情况的话,了解协议的底层个人觉得是十分必要的,同时也是找工作的必备选项。所以对常见的嵌入式协议做一个个人的总结。

本章节仅仅用于个人的学习和记录。

常见的协议类型

常用的协议(必备):SPI、IIC、USART、FSMC、8086
相比较少一点协议(特定):485、CAN、I2S

协议如何学习?

个人学习了多家的嵌入式视频,觉得有一个方法觉得比较清楚:就是一个协议的话,一定是分为协议层和物理层的,所以物理层就是他的接线方式和电器特性,协议层的话就是他的时序。这个说法不一定准确,应为部分协议无所谓接线方式,都能用。

串口

用处:
1.用作打印功能,调试 2.部分的模块的话适用串口,如有名的ESP8266 等
基本知识(自行了解):
可以看这个
https://blog.csdn.net/weixin_46468790/article/details/107198486
RS-232 标准的COM口(电脑后面的COM口)
电平转换芯片,比较有名的CH340
物理层:
接线比较简单,分为RX和TX,两个IO,其中RX用于接收,TX用于发送数据。
在这里插入图片描述
这里提一个小技巧,串口作为作为比较简单的总线,排查很简答:1.接线有问题 2.波特率有问题 3.挂载的总线时钟设置有问题 4.串口调试软件出问题

协议层:在这里插入图片描述

  1. 波特率(我觉得可以理解为解码方式,双方约定的)
    用虚线分开的每一格就是代表一个码元。
  2. 通讯的起始和停止信号
    数据包的起始信号由一个逻辑0 的数据位表示,而数据包的停止信号可由0.5、1、1.5 或2 个逻辑1 的数据位表示
  3. 有效数据
    有效数据的长度常被约定为5、6、7 或8 位长。
  4. 数据校验
    奇校验(odd)、偶校验(even)、0 校验(space)、1 校验(mark)以及无校验(noparity),它
    奇校验(odd)就是有效数据1的个数+校验位 =奇数 同理
    偶校验(even)为有效数据1的个数+校验位 =偶数
    0 校验(space)始终为0 01校验(space)始终为1 在无校验的情况下,数据包中不包含校验位。

IIC

用处:作为常见的通信协议,常用于控制传感器和外设
基本知识(自行了解):
硬件IIC
软件IIC
硬件IIC和软件IIC的区别?为什么常使用软件IIC而不是硬件I

  • 3
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值