第十章 I2C接口的一般应用.docx

上传人:b****3 文档编号:10923732 上传时间:2023-05-28 格式:DOCX 页数:46 大小:221.24KB
下载 相关 举报
第十章 I2C接口的一般应用.docx_第1页
第1页 / 共46页
第十章 I2C接口的一般应用.docx_第2页
第2页 / 共46页
第十章 I2C接口的一般应用.docx_第3页
第3页 / 共46页
第十章 I2C接口的一般应用.docx_第4页
第4页 / 共46页
第十章 I2C接口的一般应用.docx_第5页
第5页 / 共46页
第十章 I2C接口的一般应用.docx_第6页
第6页 / 共46页
第十章 I2C接口的一般应用.docx_第7页
第7页 / 共46页
第十章 I2C接口的一般应用.docx_第8页
第8页 / 共46页
第十章 I2C接口的一般应用.docx_第9页
第9页 / 共46页
第十章 I2C接口的一般应用.docx_第10页
第10页 / 共46页
第十章 I2C接口的一般应用.docx_第11页
第11页 / 共46页
第十章 I2C接口的一般应用.docx_第12页
第12页 / 共46页
第十章 I2C接口的一般应用.docx_第13页
第13页 / 共46页
第十章 I2C接口的一般应用.docx_第14页
第14页 / 共46页
第十章 I2C接口的一般应用.docx_第15页
第15页 / 共46页
第十章 I2C接口的一般应用.docx_第16页
第16页 / 共46页
第十章 I2C接口的一般应用.docx_第17页
第17页 / 共46页
第十章 I2C接口的一般应用.docx_第18页
第18页 / 共46页
第十章 I2C接口的一般应用.docx_第19页
第19页 / 共46页
第十章 I2C接口的一般应用.docx_第20页
第20页 / 共46页
亲,该文档总共46页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

第十章 I2C接口的一般应用.docx

《第十章 I2C接口的一般应用.docx》由会员分享,可在线阅读,更多相关《第十章 I2C接口的一般应用.docx(46页珍藏版)》请在冰点文库上搜索。

第十章 I2C接口的一般应用.docx

第十章I2C接口的一般应用

第十章I2C接口的一般应用

10.1I2C简介

I2C(芯片间)总线接口连接微控制器和串行I2C总线。

它提供多主机功能,控制所有I2C总线特定的时序、协议、仲裁和定时。

支持标准和快速两种模式,同时与SMBus2.0兼容。

I2C模块有多种用途,包括CRC码的生成和校验、SMBus(系统管理总线—SystemManagementBus)和PMBus(电源管理总线—PowerManagementBus)。

根据特定设备的需要,可以使用DMA以减轻CPU的负担。

I2C主要特点

1》并行总线/I2C总线协议转换器。

2》多主机功能:

该模块既可做主设备也可做从设备。

3》I2C主设备功能:

产生时钟;产生起始和停止信号。

4》I2C从设备功能:

可编程的I2C地址检测;可响应2个从地址的双地址能力;停止位检测。

5》产生和检测7位/10位地址和广播呼叫。

6》支持不同的通讯速度:

标准速度(高达100kHz);快速(高达400kHz)。

7》状态标志:

发送器/接收器模式标志;字节发送结束标志;I2C总线忙标志。

8》错误标志:

主模式时的仲裁丢失;地址/数据传输后的应答(ACK)错误;检测到错位的起始或停止条件;禁止拉长时钟功能时的上溢或下溢。

9》2个中断向量:

1个中断用于地址/数据通讯成功;1个中断用于错误。

10》可选的拉长时钟功能。

11》具单字节缓冲器的DMA。

12》可配置的PEC(信息包错误检测)的产生或校验:

用于最后一个接收字节的PEC错误校验。

13》兼容SMBus2.0:

25ms时钟低超时延时;10ms主设备累积时钟低扩展时间;25ms从设备累积时钟低扩展时间;带ACK控制的硬件PEC产生/校验;支持地址分辨协议(ARP)。

14》兼容SMBus。

10.2I2C功能描述

I2C模块接收和发送数据,并将数据从串行转换成并行,或并行转换成串行。

可以开启或禁止中断。

接口通过数据引脚(SDA)和时钟引脚(SCL)连接到I2C总线。

允许连接到标准(高达100kHz)或快速(高达400kHz)的I2C总线。

10.2.1模式选择

I2C接口有四种模式选择,接口可以下述4种模式中的一种运行:

1》从发送器模式

2》从接收器模式

3》主发送器模式

4》主接收器模式

该模块默认地工作于从模式。

接口在生成起始条件后自动地从从模式切换到主模式;当仲裁丢失或产生停止信号时,则从主模式切换到从模式。

允许多主机功能。

10.2.2通信流

主模式时,I2C接口启动数据传输并产生时钟信号。

串行数据传输总是以起始条件开始并以停止条件结束。

起始条件和停止条件都是在主模式下由软件控制产生。

从模式时,I2C接口能识别它自己的地址(7位或10位)和广播呼叫地址。

软件能够控制开启或禁止广播呼叫地址的识别。

数据和地址按8位/字节进行传输,高位在前。

跟在起始条件后的1或2个字节是地址(7位模式为1个字节,10位模式为2个字节)。

地址只在主模式发送。

在一个字节传输的8个时钟后的第9个时钟期间,接收器必须回送一个应答位(ACK)给发送器。

参考图10-1-1I2C总线协议图。

图10-1-1I2C总线协议

软件可以开启或禁止应答(ACK),并可以设置I2C接口的地址(7位、10位地址或广播呼叫地址)。

I2C接口的功能框图如图10-1-2所示。

图10-1-2I2C功能框图

注:

在SMBus模式下,SMBALERT是可选信号。

如果禁止了SMBus,则不能使用该信号。

10.2.3I2C从模式

默认情况下,I2C接口总是工作在从模式。

从默认的从模式切换到主模式,需要产生一个起始条件。

为了产生正确的时序,必须在I2C_CR2寄存器中设定该模块的输入时钟。

输入时钟的频率必须至少是:

1》标准模式下为:

2MHz

2》快速模式下为:

4MHz

一旦检测到起始条件,在SDA线上接收到的地址被送到移位寄存器。

然后与芯片自己的地址OAR1和OAR2(当ENDUAL=1)或者广播呼叫地址(如果ENGC=1)相比较。

注:

在10位地址模式时,比较包括头段序列(11110xx0),其中的xx是地址的两个最高有效位。

头段或地址不匹配:

I2C接口将其忽略并等待另一个起始条件。

头段匹配(仅10位模式):

如果ACK位被置’1’,I2C接口产生一个应答脉冲并等待8位从地址。

地址匹配:

I2C接口产生以下时序:

1》如果ACK被置’1’,则产生一个应答脉冲

2》硬件设置ADDR位;如果设置了ITEVFEN位,则产生一个中断

3》如果ENDUAL=1,软件必须读DUALF位,以确认响应了哪个从地址。

在10位模式,接收到地址序列后,从设备总是处于接收器模式。

在收到与地址匹配的头序列并且最低位为’1’(即11110xx1)后,当接收到重复的起始条件时,将进入发送器模式。

在从模式下TRA位指示当前是处于接收器模式还是发送器模式。

从发送器

在接收到地址和清除ADDR位后,从发送器将字节从DR寄存器经由内部移位寄存器发送到SDA线上。

从设备保持SCL为低电平,直到ADDR位被清除并且待发送数据已写入DR寄存器。

(见图10-1-3从发送器传输序列图)。

当收到应答脉冲时:

TxE位被硬件置位,如果设置了ITEVFEN和ITBUFEN位,则产生一个中断。

如果TxE位被置位,但在上一次数据发送结束之前没有新数据写入到DR寄存器,则BTF位被置位,I2C接口将保持SCL为低电平,以等待写入DR寄存器。

图10-1-3从发送器的传送序列图

从接收器

在接收到地址并清除ADDR后,从接收器将通过内部移位寄存器从SDA线接收到的字节存进DR寄存器。

I2C接口在接收到每个字节后都执行下列操作:

1》如果设置了ACK位,则产生一个应答脉冲

2》硬件设置RxNE=1。

如果设置了ITEVFEN和ITBUFEN位,则产生一个中断。

如果RxNE被置位,并且在接收新的数据结束之前DR寄存器未被读出,BTF位被置位,I2C接口保持SCL为低电平,等待读DR寄存器(见图10-1-4从接收器传输序列图)。

图10-1-4从接收器的传送序列图

关闭从通信

在传输完最后一个数据字节后,主设备产生一个停止条件,I2C接口检测到这一条件时:

设置STOPF=1,如果设置了ITEVFEN位,则产生一个中断。

然后I2C接口等待读SR1寄存器,再写CR1寄存器。

(见图10-1-4的EV4)。

10.2.4I2C主模式

在主模式时,I2C接口启动数据传输并产生时钟信号。

串行数据传输总是以起始条件开始并以停止条件结束。

当通过START位在总线上产生了起始条件,设备就进入了主模式。

以下是主模式所要求的操作顺序:

1》在I2C_CR2寄存器中设定该模块的输入时钟以产生正确的时序

2》配置时钟控制寄存器

3》配置上升时间寄存器

4》编程I2C_CR1寄存器启动外设

5》置I2C_CR1寄存器中的START位为1,产生起始条件。

I2C模块的输入时钟频率必须至少是:

1》标准模式下为:

2MHz

2》快速模式下为:

4MHz

1.起始条件:

当BUSY=0时,设置START=1,I2C接口将产生一个开始条件并切换至主模式(M/SL位置位)。

注:

在主模式下,设置START位将在当前字节传输完后由硬件产生一个重开始条件。

一旦发出开始条件:

SB位被硬件置位,如果设置了ITEVFEN位,则会产生一个中断。

然后主设备等待读SR1寄存器,紧跟着将从地址写入DR寄存器。

2.从地址的发送:

从地址通过内部移位寄存器被送到SDA线上。

在10位地址模式时,发送一个头段序列产生以下事件:

1》ADD10位被硬件置位,如果设置了ITEVFEN位,则产生一个中断。

然后主设备等待读SR1寄存器,再将第二个地址字节写入DR寄存器。

2》ADDR位被硬件置位,如果设置了ITEVFEN位,则产生一个中断。

随后主设备等待一次读SR1寄存器,跟着读SR2寄存器。

在7位地址模式时,只需送出一个地址字节。

一旦该地址字节被送出,ADDR位被硬件置位,如果设置了ITEVFEN位,则产生一个中断。

随后主设备等待一次读SR1寄存器,跟着读SR2寄存器。

根据送出从地址的最低位,主设备决定进入发送器模式还是进入接收器模式。

在7位地址模式时,要进入发送器模式,主设备发送从地址时置最低位为’0’。

要进入接收器模式,主设备发送从地址时置最低位为’1’。

在10位地址模式时要进入发送器模式,主设备先送头字节(11110xx0),然后送最低位为’0’的从地址。

(这里xx代表10位地址中的最高2位。

)要进入接收器模式,主设备先送头字节(11110xx0),然后送最低位为’1’的从地址。

然后再重新发送一个开始条件,后面跟着头字节(11110xx1)(这里xx代表10位地址中的最高2位。

)TRA位指示主设备是在接收器模式还是发送器模式。

3.主发送器

在发送了地址和清除了ADDR位后,主设备通过内部移位寄存器将字节从DR寄存器发送到SDA线上。

主设备等待,直到TxE被清除。

当收到应答脉冲时:

TxE位被硬件置位,如果设置了INEVFEN和ITBUFEN位,则产生一个中断。

如果TxE被置位并且在上一次数据发送结束之前没有写新的数据字节到DR寄存器,则BTF被置位,I2C接口等待BTF被清除。

在DR寄存器中写入最后一个字节后,通过设置STOP位产生一个停止条件(见图10-1-5住发送器传送序列图的EV8_2),然后I2C接口将自动回到从模式(M/S位清除)。

注:

当TxE或BTF位置位时,停止条件应安排在出现EV8_2事件时。

图10-1-5主发送器传送序列图

4.主接收器

在发送地址和清除ADDR之后,I2C接口进入主接收器模式。

在此模式下,I2C接口从SDA线接收数据字节,并通过内部移位寄存器送至DR寄存器。

在每个字节后,I2C接口依次执行以下操作:

1》如果ACK位被置位,发出一个应答脉冲。

2》硬件设置RxNE=1,如果设置了INEVFEN和ITBUFEN位,则会产生一个中断(见图10-1-6的EV7)。

如果RxNE位被置位,并且在接收新数据结束前,DR寄存器中的数据没有被读走,硬件将设置BTF=1,I2C接口等待读DR寄存器。

5.关闭通信

主设备在从从设备接收到最后一个字节后发送一个NACK。

从设备接收到NACK后,释放对SCL和SDA线的控制;主设备就可以发送一个停止/重起始条件。

为了在收到最后一个字节后产生一个NACK脉冲,在读倒数第二个数据字节之后(在倒数第二个RxNE事件之后)必须清除ACK位。

为了产生一个停止/重起始条件,软件必须在读倒数第二个数据字节之后(在倒数第二个RxNE事件之后)设置STOP/START位。

只接收一个字节时,将在EV6时进行关闭应答和停止条件生成操作。

在产生了停止条件后,I2C接口自动回到从模式(M/SL位被清除)。

图10-1-6主接收器传送序列图

10.2.5错误条件

以下条件可能造成通讯失败。

1》总线错误(BERR)。

在一个字节传输期间,当I2C接口检测到一个停止或起始条件则产生总线错误。

此时:

BERR位被置位,如果设置了ITERREN位,则产生一个中断;在从模式情况下,数据被丢弃,硬件释放总线:

如果是错误的开始条件,从设备认为是一个重启动,并等待地址或停止条件。

如果是错误的停止条件,从设备按正常的停止条件操作,同时硬件释放总线。

2》应答错误(AF)。

当接口检测到一个无应答位时,产生应答错误。

此时:

AF位被置位,如果设置了ITERREN位,则产生一个中断;当发送器接收到一个NACK时,必须复位通讯:

如果是处于从模式,硬件释放总线。

如果是处于主模式,软件必须生成一个停止条件。

3》仲裁丢失(ARLO)。

当I2C接口检测到仲裁丢失时产生仲裁丢失错误,此时:

ARLO位被硬件置位,如果设置了ITERREN位,则产生一个中断;I2C接口自动回到从模式(M/SL位被清除);硬件释放总线。

4》过载/欠载错误(OVR)。

在从模式下,如果禁止时钟延长,I2C接口正在接收数据时,当它已经接收到一个字节(RxNE=1),但在DR寄存器中前一个字节数据还没有被读出,则发生过载错误。

此时:

最后接收的数据被丢弃;在过载错误时,软件应清除RxNE位,发送器应该重新发送最后一次发送的字节。

在从模式下,如果禁止时钟延长,I2C接口正在发送数据时,在下一个字节的时钟到达之前,新的数据还未写入DR寄存器(TxE=1),则发生欠载错误。

此时:

在DR寄存器中的前一个字节将被重复发出;用户应该确定在发生欠载错时,接收端应丢弃重复接收到的数据。

发送端应按I2C总线标准在规定的时间更新DR寄存器。

10.2.6SDA/SCL线控制

1.如果允许时钟延长:

1》发送器模式:

如果TxE=1且BTF=1:

I2C接口在传输前保持时钟线为低,以等待软件读取SR1,然后把数据写进数据寄存器(缓冲器和移位寄存器都是空的)。

2》接收器模式:

如果RxNE=1且BTF=1:

I2C接口在接收到数据字节后保持时钟线为低,以等待软件读SR1,然后读数据寄存器DR(缓冲器和移位寄存器都是满的)。

2.如果在从模式中禁止时钟延长:

1》如果RxNE=1,在接收到下个字节前DR还没有被读出,则发生过载错。

接收到的最后一个字节丢失。

2》如果TxE=1,在必须发送下个字节之前却没有新数据写进DR,则发生欠载错。

相同的字节将被重复发出。

3》不控制重复写冲突。

10.2.7SMBus

系统管理总线(SMBus)是一个双线接口。

通过它,各设备之间以及设备与系统的其他部分之间可以互相通信。

它基于I2C操作原理。

SMBus为系统和电源管理相关的任务提供一条控制总线。

一个系统利用SMBus可以和多个设备互传信息,而不需使用独立的控制线路。

系统管理总线(SMBus)标准涉及三类设备。

从设备:

接收或响应命令的设备。

主设备:

用来发送命令、产生时钟和终止发送的设备。

主机:

一种专用的主设备,它提供与系统CPU的主接口。

主机必须具有主-从机功能并且必须支持SMBus提醒协议。

一个系统里只允许有一个主机。

1.SMBus和I2C之间的相似点

1》2条线的总线协议(1个时钟,1个数据)+可选的SMBus提醒线;

2》主-从通信,主设备提供时钟;

3》多主机功能

4》SMBus数据格式类似于I2C的7位地址格式;

2.SMBus和I2C之间的不同点

表10-2-1列出了SMBus和I2C的不同点。

表10-2-1SMBus与I2C的比较

SMBus

I2C

最大传输速度100kHz

最大传输速度400kHz

最小传输速度10kHz

无最小传输速度

35ms时钟低超时

无时钟超时

固定的逻辑电平

逻辑电平由VDD决定

不同的地址类型(保留的、动态的等)

7位、10位和广播呼叫从地址类型

不同的总线协议(快速命令、处理呼叫等)

无总线协议

3.SMBus应用用途

利用系统管理总线,设备可提供制造商信息,告诉系统它的型号/部件号,保存暂停事件的状态,报告不同类型的错误,接收控制参数,和返回它的状态。

SMBus为系统和电源管理相关的任务提供控制总线。

4.设备标识

在系统管理总线上,任何一个作为从模式的设备都有一个唯一的地址,叫做从地址。

保留的从地址表请参考2.0版的SMBus规范(http:

//smbus.org/specs/)。

5.总线协议

SMBus技术规范支持9个总线协议。

有关这些协议的详细资料和SMBus地址类型,请参考2.0版的SMBus规范(http:

//smbus.org/specs/)。

这些协议由用户的软件来执行。

6.地址解析协议(ARP)

通过给每个从设备动态地分配一个新的唯一地址,可以解决SMBus的从地址冲突。

地址解析协议(ARP)具有以下的特性:

1》使用标准SMBus物理层仲裁机制分配地址;

2》当设备维持供电期间,分配的地址仍保持不变,也允许设备在断电后保留其地址。

3》在地址分配后,没有额外的SMBus的打包开销(也就是说访问分配地址的设备与访问固定地址的设备所用时间是一样的);

4》任何一个SMBus主设备可以遍历总线。

7.唯一的设备标识符(UDID)

为了分配地址,需要一种区分每个设备的机制,每个设备必须拥有一个唯一的设备标识符。

关于在ARP上128位的UDID的详细信息,参考2.0版的SMBus规范(http:

//smbus.org/specs/)。

8.SMBus提醒模式

SMBus提醒是一个带中断线的可选信号,用于那些希望扩展它们的控制能力而牺牲一个引脚的设备。

SMBALERT和SCL、SDA信号一样,是一种线与信号。

SMBALERT通常和SMBus广播呼叫地址一起使用。

与SMBus有关的消息为2字节。

一个只具有从功能的设备,可以通过设置I2C_CR1寄存器上的ALERT位,使用SMBALERT给主机发信号表示它希望进行通信。

主机处理该中断并通过提醒响应地址ARA(AlertResponseAddress,地址值为0001100x)访问所有SMBALERT设备。

只有那些将SMBALERT拉低的设备能应答ARA。

此状态是由I2C_SR1寄存器中的SMBALERT状态标记来标识的。

主机执行一个修改过的接收字节操作。

由从发送设备提供的7位设备地址被放在字节的7个最高位上,第八个位可以是’0’或’1’。

如果多个设备把SMBALERT拉低,最高优先级设备(最小的地址)将在地址传输期间通过标准仲裁赢得通信权。

在确认从地址后,此设备不得再拉低它的SMBALERT,如果当信息传输完成后,主机仍看到SMBALERT低,就知道需要再次读ARA。

没有实现SMBALERT信号的主机可以定期访问ARA。

9.超时错误

在定时规范上I2C和SMBus之间有很多差别。

SMBus定义了一个时钟低超时,35ms的超时。

SMBus规定TLOW:

SEXT为从设备的累积时钟低扩展时间。

SMBus规定TLOW:

MEXT为主设备的累积时钟低扩展时间。

更多超时细节请参考2.0版的SMBus规范(http:

//smbus.org/specs/)。

I2C_SR1中的状态标志Timeout或Tlow错误表明了这个特性的状态。

10.如何使用SMBus模式的接口

为了从I2C模式切换到SMBus模式,应该执行下列步骤:

1》设置I2C_CR1寄存器中的SMBus位;

2》按应用要求配置I2C_CR1寄存器中的SMBTYPE和ENARP位。

软件程序必须处理多种SMBus协议。

1》如果ENARP=1且SMBTYPE=0,使用SMB设备默认地址。

2》如果ENARP=1且SMBTYPE=1,使用SMB主设备头字段。

3》如果SMBALERT=1,使用SMB提醒响应地址。

10.2.8DMA请求

DMA请求(当被使能时)仅用于数据传输。

发送时数据寄存器变空或接收时数据寄存器变满,则产生DMA请求。

当为相应DMA通道设置的数据传输量已经完成时,DMA控制器发送传输结束信号ETO到I2C接口,并且在中断允许时产生一个传输完成中断:

1》主发送器:

在EOT中断服务程序中,需禁止DMA请求,然后在等到BTF事件后设置停止条件。

2》主接收器:

DMA控制器发送一个硬件信号EOT_1,它对应DMA传输(字节数-1)。

如果在I2C_CR2寄存器中设置了LAST位,硬件在发送完EOT_1后的下一个字节,将自动发送NACK。

在中断允许的情况下,用户可以在DMA传输完成的中断服务程序中产生一个停止条件。

请参考产品手册以确认您所选用型号有DMA控制器。

如果DMA不可用,用户应该如前面所描述的方法使用I2C。

在I2C中断服务程序中,可以清除TxE/RxNE标记以达到连续的通信。

1.利用DMA发送

通过设置I2C_CR2寄存器中的DMAEN位可以激活DMA模式。

只要TxE位被置位,数据将由DMA从预置的存储区装载进I2C_DR寄存器。

为I2C分配一个DMA通道,须执行以下步骤(x是通道号):

1》在DMA_CPARx寄存器中设置I2C_DR寄存器地址。

数据将在每个TxE事件后从存储器传送至这个地址。

2》在DMA_CMARx寄存器中设置存储器地址。

数据在每个TxE事件后从这个存储区传送至I2C_DR。

3》在DMA_CNDTRx寄存器中设置所需的传输字节数。

在每个TxE事件后,此值将被递减。

4》利用DMA_CCRx寄存器中的PL[0:

1]位配置通道优先级。

5》设置DMA_CCRx寄存器中的DIR位,并根据应用要求可以配置在整个传输完成一半或全部完成时发出中断请求。

6》通过设置DMA_CCTx寄存器上的EN位激活通道。

当DMA控制器中设置的数据传输数目已经完成时,DMA控制器给I2C接口发送一个传输结束的EOT/EOT_1信号。

在中断允许的情况下,将产生一个DMA中断。

注:

如果使用DMA进行发送时,不要设置I2C_CR2寄存器的ITBUFEN位。

2.利用DMA接收

通过设置I2C_CR2寄存器中的DMAEN位可以激活DMA接收模式。

每次接收到数据字节时,将由DMA把I2C_DR寄存器的数据传送到设置的存储区(参考DMA说明)。

设置DMA通道进行I2C接收,须执行以下步骤(x是通道号):

1》在DMA_CPARx寄存器中设置I2C_DR寄存器的地址。

数据将在每次RxNE事件后从此地址传送到存储区。

2》在DMA_CMARx寄存器中设置存储区地址。

数据将在每次RxNE事件后从I2C_DR寄存器传送到此存储区。

3》在DMA_CNDTRx寄存器中设置所需的传输字节数。

在每个RxNE事件后,此值将被递减。

4》用DMA_CCRx寄存器中的PL[0:

1]配置通道优先级。

5》清除DMA_CCRx寄存器中的DIR位,根据应用要求可以设置在数据传输完成一半或全部完成时发出中断请求。

6》设置DMA_CCRx寄存器中的EN位激活该通道。

当DMA控制器中设置的数据传输数目已经完成时,DMA控制器给I2C接口发送一个传输结束的EOT/EOT_1信号。

在中断允许的情况下,将产生一个DMA中断。

注:

如果使用DMA进行接收时,不要设置I2C_CR2寄存器的ITBUFEN位。

10.2.9I2C中断请求

表10-2-2列出了所有的I2C中断请求

表10-2-2I2C中断请求表:

中断事件

事件标志

开启控制位

起始位已发送(主)

SB

ITEVFEN

地址已发送(主)或地址匹配(从)

ADDR

10位头段已发送(主)

ADD10

已收到停止(从)

STOPF

数据字节传输完成

BTF

接收缓冲区非空

RxNE

ITEVFEN和ITBUFEN

发送缓冲区空

TxE

总线错误

BERR

ITERREN

仲裁丢失(主)

AR

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2