主接收模式中的格式发送完重复的起始条件之后,I2C可以切换到主发送模式。在发送重复的起始条件后,主接收器切换为主发送器。从接收模式在从接收模式中,接收从主发送器发来的数据字节。要初始化从接收模式,用户必须将从地址写入任意一个从地址寄存器(I2ADR0~3)并配置I2C控制置位寄存器(I2CONSET),如表所示:用于配置从模式的I2C0CONSET和I2C1CONSET必须置位I2EN以使能I2C功能。AA位必须置位以使I2C应答自身的从地址或通用调用地址。STA,STO和SI设置为0。在初始化I2ADR和I2CONSET之后,I2C接口一直等待直到它被自身的从地址或通用地址(两者后面都紧跟读写操作位)寻址为止。如果读写操作位为0(W),则I2C将进入从接收模式。如果读写操作位为1(R),则I2C将进入从发送模式。在接收到地址和读写操作位后,SI置位并可从状态寄存器(I2STAT)中读出有效的状态代码。状态代码及操作请参考表。
对于具体的实现方案,您可以参考I2C从设备接收数据verilog代码实现,了解如何在硬件描述语言中实现这些操作。关于I2C协议在不同平台上的实现,您还可以查看STC单片机I2C做从模式代码。若您对不同的状态模式设计感兴趣,相关的状态模式代码示例也能提供有价值的参考。
是不是觉得这个过程有点复杂?不过,不要担心!您可以从这些资源中找到更多有用的信息,帮助您更好地理解和实现I2C协议的各种模式。
暂无评论