【电子资讯】控制单元监听TWl总线
控制单元监听TWl总线,并根据TWl控制寄存器1、WCR的设置作出相应的响应。当TWl总线上产生需要应用程序干预处理的事件时,TWl中断标志位TWlNT置位。在下一个时钟周期,TWl状态寄存器TWSR被表示这个事件的状态码字所更新。在其他时间里,TWSR的内容为一个表示无事件发生的特殊状态字。一旦TWINT标志位置“1",时钟线SCl.即被拉
低,暂停TWl总线上的数据传输,让用户程序处理事件。
在下列状况出现时,TWINT标志位置位:
>在TWl传送完START/REPEATEDSTART信号之后
>在TWl传送完SLA+R/W数据之后
>在TWl传送完地址字节之后
>在TWl总线仲裁失败之后
>在TWl被主机寻址之后(广播方式或从机地址匹配)
>在TWl接收到一个数据字节之后
>作为从机工作时,TWl接收到STOP或REPEATEDSTART信号之后》由于非法的START或STOP信号造成总线错误时
2.10.3 TWl寄存器
1.TWl比特率寄存器——TWBR
位 7 6 5 4 3 2 1 0
读/写 R/W RAV R/W RAV RAV RAV RAV lUW
复位值0 0 0 0 0 0 0 0
·Bits 7:o——TWl比特率寄存器
TWBR为比特率发生器分频因子。比特率发生器是一个分频器,在主机模式下产生SCL
时钟频率。
2.TWl控制寄存器——TWCR
位 7 6 5 4 3 2 1 0
读/写 RAV RAV R/W RAV R R/W R R/W
复位值0 0 0 0 0 0 0 0
TWCR用来控制TWl操作。它用来使能TWl,通过施加START到总线上来启动主机访问、产生接收器应答、产生STOP状态以及在写人数据到TWDR寄存器时控制总线的暂停等。这个寄存器还可以给出在TWDR无法访问期间,试图将数据写人到TWDR而引起的写入冲突信息。
电子街推荐