在数据传输结束时,如果主机继续希望在总线上通信,它可以在不首先生成停止信号的情况下生成另一个启动信号,然后再生成另一个从机地址。程序示例如下所示。
在从机中断服务程序中,应测试寻址为从位(IAAS)的模块,以检查是否刚刚接收到对其自身地址的调用。如果设置了IAAS,软件应根据R/W命令位(SRW)设置发送/接收模式选择位(IBCR的Tx/Rx位),写入IBCR将自动清除IAAS。请注意,IAAS被读取为设置的唯一时间是在地址周期结束时发生的中断,地址匹配发生时,后续数据传输产生的中断将清除IAAS。现在可以通过向IBDR写入信息来启动数据传输,以便从机传输,或者在从接收模式下从IBDR进行虚拟读取。从机将在字节传输之间驱动SCL低,当IBDR以所需模式访问时,SCL被释放。在从机发送程序中,在发送下一个数据字节之前,必须测试接收到的确认位(RXAK)。设置RXAK意味着来自主接收机的“数据结束”信号,之后必须通过软件将其从发射机模式切换到接收机模式。虚拟读取然后释放SCL线,以便主设备可以生成停止信号。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
全部0条评论
快来发表一下你的评论吧 !