[其它应用] 中颖SH32F9B00的TWI 中断和超时的处理注意事项

[复制链接]
 楼主| 星辰大海不退缩 发表于 2023-3-22 19:00 | 显示全部楼层 |阅读模式

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 是总中断使能位。
Candic12e 发表于 2023-5-19 15:20 | 显示全部楼层
在这个芯片中,总线超时、SCL高电平超时和SCL低电平超时是硬件中断,无法通过软件关闭
Allison8859 发表于 2023-5-19 16:31 | 显示全部楼层
模块功能是固定开启的
Emily999 发表于 2023-5-19 17:46 | 显示全部楼层
只有产生了超时标志才能产生 TWI 中断
Charlene沙 发表于 2023-5-20 07:22 | 显示全部楼层
如果ETOT和EFREE关闭,标志不会产生,中断自然也不会发生
Belle1257 发表于 2023-5-20 12:00 | 显示全部楼层
TWINTE标志是总中断使能位。当该标志被置位时,所有的总线中断都会被使能
OKAKAKO 发表于 2023-11-12 18:58 | 显示全部楼层
TWINTE 是总中断使能位
szt1993 发表于 2023-11-12 20:32 | 显示全部楼层
SH32F9B00 的 TWI 有 3 个中断源:通讯中断、总线超时、SCL 高电平超时。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

287

主题

2525

帖子

6

粉丝
快速回复 在线客服 返回列表 返回顶部

287

主题

2525

帖子

6

粉丝
快速回复 在线客服 返回列表 返回顶部