我是靠谱客的博主 威武火龙果,最近开发中收集的这篇文章主要介绍常见的协议汇总(小白个人理解,大佬勿喷)背景常见的协议类型协议如何学习?串口IICSPIFSMC8086485CANI2S,觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
背景
接触了一些芯片,发现所有的芯片而言,库和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.串口调试软件出问题
协议层:
- 波特率(我觉得可以理解为解码方式,双方约定的)
用虚线分开的每一格就是代表一个码元。 - 通讯的起始和停止信号
数据包的起始信号由一个逻辑0 的数据位表示,而数据包的停止信号可由0.5、1、1.5 或2 个逻辑1 的数据位表示 - 有效数据
有效数据的长度常被约定为5、6、7 或8 位长。 - 数据校验
奇校验(odd)、偶校验(even)、0 校验(space)、1 校验(mark)以及无校验(noparity),它
奇校验(odd)就是有效数据1的个数+校验位 =奇数 同理
偶校验(even)为有效数据1的个数+校验位 =偶数
0 校验(space)始终为0 01校验(space)始终为1 在无校验的情况下,数据包中不包含校验位。
IIC
用处:作为常见的通信协议,常用于控制传感器和外设
基本知识(自行了解):
硬件IIC
软件IIC
硬件IIC和软件IIC的区别?为什么常使用软件IIC而不是硬件IIC?
两种方式的区别和优势弱点
物理层:
由于我自己一般都是使用的软件IIC,所以是直接的GPIO控制。这里提一个知识点:IIC可以接多个设备码?答案是可以的。
最后
以上就是威武火龙果为你收集整理的常见的协议汇总(小白个人理解,大佬勿喷)背景常见的协议类型协议如何学习?串口IICSPIFSMC8086485CANI2S的全部内容,希望文章能够帮你解决常见的协议汇总(小白个人理解,大佬勿喷)背景常见的协议类型协议如何学习?串口IICSPIFSMC8086485CANI2S所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复