当前位置:网站首页>硬件及接口学习总结
硬件及接口学习总结
2022-07-05 23:51:00 【小僧寒水寺无心】
一、同步和异步通信
异步:两个设备之间没有时钟线相连,但是设备双方需要保持一致的通信波特率,如下图,只有数据线没有SCL时钟线。
同步:有时钟线,通信速度相同,所以不再需要配置相同速度。如下图,除了有交换信息的数据线,还有SCL时钟线。
二、IIC如何同时挂载多个同一种器件
I2C总线是一种主从结构总线,I2C总线上的每一个设备都可以作为主设备或从设备,其中主设备用来产生允许传输的时钟信号,并初始化总线的数传输,所以主设备通常是CPU。
因为一个I2C总线上可以有多个从设备,这样主设备需要通过地址来确定与内阁器件进行通信。I2C总线桑每个从设备都有一个唯一的7bit地址物理识别。因为I2C地址全0为广播地址,所以I2C总线理论上最多能带2^7-1=127个从设备。
主机发送数据流程
1、主机载检测到总线为空闲的时候,发送一个启动信号“S”,开始通信;
2、主机接着发送一个从设备地址,由7bit物理地址和1bit的读写控制位W/R组成;
3、通过地址识别,相对应的从机受到命令后向主机回馈一个应答信号(ACK=0);
4、主机受到从机的应答信号后开始发送第一个字节的数据;
5、从机收到数据后返回一个应答信号ACK;
6、主机收到应答信号后再发送下一个数据字节;
7、主机发完最后一个字节并收到ACK后,向从机发送一个停止信号P结束本次通信并释放总线;
8、从机收到P信号后也退出与主机之间的通信。
从机发送数据流程
1、主机发送启动信号,接着发送地址字节;
2、对应的从机收到地址字节后,返回一个应答信号并向主机发送数据;
3、主机收到数据后向从机反馈一个应答信号ACK;
4、从机收到应答信号后继续向主机发送下一个数据;
5、当主机完成接收数据后,向从机发送一个NAK,从机收到非应答信号后便停止发送;
6、主机发送非应答信号后,再发送一个停止信号,释放总线结束通信。
三、中断流程是什么?
CPU
1、判断中断,寻找中断号
2、判断优先级
3、保存现场(压栈)
4、找中断的服务处理程序
5、处理中断处理程序
6、返回现场,继续执行原来的程序
边栏推荐
- 14 MySQL-视图
- 用列表初始化你的vector&&initializer_list简介
- Qt QPushButton详解
- C# 反射与Type
- Biased sample variance, unbiased sample variance
- 7.5 装饰器
- Learn PWN from CTF wiki - ret2libc1
- Which side projects can be achieved? Is it difficult for we media to earn more than 10000 a month?
- C # input how many cards are there in each of the four colors.
- Senparc.Weixin.Sample.MP源码剖析
猜你喜欢
教你在HbuilderX上使用模拟器运行uni-app,良心教学!!!
China Jinmao online electronic signature, accelerating the digitization of real estate business
Fiddler Everywhere 3.2.1 Crack
Switching power supply buck circuit CCM and DCM working mode
亲测可用fiddler手机抓包配置代理后没有网络
GFS distributed file system
保研笔记一 软件工程与计算卷二(1-7章)
妙才周刊 - 8
Rasa 3. X learning series -rasa x Community Edition (Free Edition) changes
GFS分布式文件系统
随机推荐
orgchart. JS organization chart, presenting structural data in an elegant way
Zhuan: in the future, such an organization can withstand the risks
The PostgreSQL column reference 'ID' is ambiguous - PostgreSQL column reference'id'is ambiguous
PV static creation and dynamic creation
Rasa 3.x 学习系列-Rasa 3.2.1 新版本发布
成为程序员的你,后悔了吗?
关于结构体所占内存大小知识
In C#, why can't I modify the member of a value type instance in a foreach loop?
行列式学习笔记(一)
Research notes I software engineering and calculation volume II (Chapter 1-7)
MySQL delete uniqueness constraint unique
MySQL replace primary key delete primary key add primary key
Senparc.Weixin.Sample.MP源码剖析
ts类型声明declare
【luogu P3295】萌萌哒(并查集)(倍增)
Convert Chinese into pinyin
JS 这次真的可以禁止常量修改了!
20. Migrate freetype font library
Naoqi robot summary 26
软件测试工程师必会的银行存款业务,你了解多少?