全文预览

嵌入式课程设计报告stm32(精)

上传者:梦&殇 |  格式:doc  |  页数:36 |  大小:0KB

文档介绍
E 事件之后) 必须清除 ACK 位。●为了产生一个停止/ 重起始条件,软件必须在读倒数第二个数据字节之后( 在倒数第二个 RxNE 事件之后) 设置 STOP/START 位。在产生了停止条件后,接口自动回到从模式(M/SL 位被清除)。图 139 主接收器传送序列图说明: S=Start( 起始条件),S r=重复的起始条件, P=Stop( 停止条件), A= 响应, NA= 非响应, EVx= 事件(ITEVFEN=1 时产生中断) EV5 : SB=1 ,读 SR1 然后将地址写入 DR 寄存器将清除该事件 EV6 : ADDR=1 ,读 SR1 然后读 SR2 将清除该事件。在 10 位主接受模式下,该事件后应设置 CR2 的 START=1 。 EV7 : RxNE=1 ,读 DR 寄存器清除该事件 EV7_1 : RxNE=1 ,读 DR 寄存器清除该事件。设置 ACK=0 和 STOP 请求 EV9 : ADDR10=1 ,读 SR1 然后写入 DR 寄存器将清除该事件 1.4.3 错误条件以下条件可能造成通讯失败。总线错误(BERR) 在一个字节传输期间,当 I2C 接口检测到一个停止或起始条件则产生此错误。此时: ● BERR 位被置位,如果设置了 ITERREN 位,则产生一个中断; ●在从模式情况下,数据被丢弃,硬件释放总线: ?在错误的开始条件情况下,从设备认为是一个重启动,并等待地址和停止条件。?在错误的停止条件情况下,从设备与正常停止表现得一样,同时硬件释放总线。应答错误(AF) 当接口检测到一个无应答位时,产生此错误。此时: ● AF 位被置位,如果设置了 ITERREN 位,则产生一个中断; ●当发送器接收到一个 NACK 时,必须复位通讯。?如果是处于从模式,硬件释放总线?如果是处于主模式,必须用软件生成一个停止条件仲裁丢失(ARLO)

收藏

分享

举报
下载此文档