SH32F9B00 的 TWI 有 3 个中断源:通讯中断、总线超时、SCL 高电平超时。对应的三个中断标志分别
是 TWINT、TOUT、TFREE。
SH32F9B00 的总线超时(TOUT)功能和 SCL 高电平超时(TFREE)功能是恒开的,无法关闭。
TOUT 是 SCL 低电平超过一定时间后发生,表示某个主机或从机能够把总线时钟拉低的时间上限,超过
此时间将产生总线超时事件,硬件自动释放总线,并送出相应标志(ETOT 使能时)。
【注意】TOUT 超时功能是固定开启的,如果长时间拉低 SCL,必然会发生 TOUT 事件。TOUT 的
默认超时时间是 25000 个 TWI 时钟。
TFREE 是 SCL 高电平超过一定时间后发生,表示总线处于“空闲”状态,发生 TFREE 事件后,硬件自动
释放总线,并送出相应标志(EFREE 使能时)。
【注意】TFREE 超时功能是固定开启的,如果长时间拉高 SCL(因为 SCL 默认上拉,此状态表示
SCL 空闲),必然会发生 TFREE 事件。TFREE 的默认超时时间是 HOC×256 个 TWI 时钟(HOC 默认
值 255)。
【注意】ETOT 和 EFREE 是控制 TOUT 和 TFREE 事件发生时是否产生超时标志的使能位,不是模块功
能使能位(再次强调:模块功能是固定开启的)。只有产生了超时标志才能产生 TWI 中断,如果 ETOT 和
EFREE 关闭,标志不会产生,中断自然也不会发生。
【注意】TWINT 是通讯中断标志,TWI 的状态改变时会引起置位,但从其他状态进入 F8 状态不会引起
置位。
【注意】TWINTE 是总中断使能位。 |