当前位置:网站首页>硬件及接口学习总结
硬件及接口学习总结
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、返回现场,继续执行原来的程序
边栏推荐
- Idea connects to MySQL, and it is convenient to paste the URL of the configuration file directly
- 如何获取localStorage中存储的所有值
- Initialize your vector & initializer with a list_ List introduction
- FFT 学习笔记(自认为详细)
- 成为程序员的你,后悔了吗?
- Fiddler Everywhere 3.2.1 Crack
- 哪些偏门项目可以做到?自媒体做到月赚一万以上很难吗?
- Zero rhino technology joined hands with the intelligence Club: the "causal faction" forum was successfully held, and the "causal revolution" brought the next generation of trusted AI
- Spire.PDF for NET 8.7.2
- Senparc.Weixin.Sample.MP源码剖析
猜你喜欢

Spire Office 7.5.4 for NET

Rasa 3.x 学习系列-Rasa X 社区版(免费版) 更改

XML configuration file (DTD detailed explanation)

Initialize your vector & initializer with a list_ List introduction

时区的区别及go语言的time库

Bao Yan notebook IV software engineering and calculation volume II (Chapter 8-12)

18.(arcgis api for js篇)arcgis api for js点采集(SketchViewModel)

Part III Verilog enterprise real topic of "Niuke brush Verilog"

Mathematical model Lotka Volterra

【在线聊天】原来微信小程序也能回复Facebook主页消息!
随机推荐
C reflection and type
ts类型声明declare
Online yaml to CSV tool
2022.6.20-6.26 AI industry weekly (issue 103): new little life
Cwaitabletimer timer, used to create timer object access
Qt QPushButton详解
跟着CTF-wiki学pwn——ret2libc1
Idea connects to MySQL, and it is convenient to paste the URL of the configuration file directly
C file and folder operation
C # input how many cards are there in each of the four colors.
Rasa 3.x 学习系列-Rasa X 社区版(免费版) 更改
orgchart. JS organization chart, presenting structural data in an elegant way
转:未来,这样的组织才能扛住风险
Part III Verilog enterprise real topic of "Niuke brush Verilog"
Initialiser votre vecteur & initialisateur avec une liste Introduction à la Liste
同事悄悄告诉我,飞书通知还能这样玩
如何提升口才
【二叉搜索树】增删改查功能代码实现
亲测可用fiddler手机抓包配置代理后没有网络
多普勒效應(多普勒頻移)