打印
[其他ST产品]

I3C 可仲裁头的IBI中断

[复制链接]
384|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主

现在的HAL库是否还不支持在发送可仲裁头时,被IBI中断打断的场景,我看驱动中,使能了带有可仲裁头的传输时,软件方面是忽略IBI相关的中断的。并且如果硬件被IBI,原先的传输是无法继续进行,并且没有任何提示被打断了的。

使用特权

评论回复
沙发
4y1b3| | 2024-9-21 11:41 | 只看该作者
原先的传输是无法继续进行,并且没有任何提示被打断了

使用特权

评论回复
板凳
冰春彩落下| | 2024-11-1 19:00 | 只看该作者
在I2C通信中,可仲裁头和IBI中断是两个不同的概念。可仲裁头通常用于多主机环境下的仲裁机制,而IBI中断则是在数据传输过程中,当接收器准备好接收下一个字节时触发的中断

使用特权

评论回复
地板
淡漠安然| | 2024-11-2 02:00 | 只看该作者
HAL库是STMicroelectronics提供的一套用于简化微控制器编程的库。HAL库的设计目标是提供一个统一的接口,使得开发者可以更容易地使用STMicroelectronics的微控制器

使用特权

评论回复
5
三生万物| | 2024-11-2 03:00 | 只看该作者
I2C通信中,IBI中断通常用于在数据传输过程中,当接收器准备好接收下一个字节时通知发送器。然而,IBI中断的处理在HAL库中可能并不完全支持,尤其是在发送可仲裁头时

使用特权

评论回复
6
一秒落纱| | 2024-11-2 04:00 | 只看该作者
根据你的描述,HAL库在处理带有可仲裁头的传输时,可能会忽略IBI相关的中断。这意味着在发送可仲裁头的过程中,如果发生了IBI中断,HAL库可能不会正确处理这个中断,导致传输无法继续进行,并且没有任何提示

25936724b6784f0cb.png (51.56 KB )

25936724b6784f0cb.png

使用特权

评论回复
7
夜阑风雨| | 2024-11-2 05:00 | 只看该作者
如果你需要在发送可仲裁头时处理IBI中断,可以考虑,你可以修改HAL库的源代码,使其在发送可仲裁头时能够正确处理IBI中断

使用特权

评论回复
8
远山寻你| | 2024-11-2 06:00 | 只看该作者
其实这需要对HAL库的内部实现有一定的了解,并且需要谨慎处理,以避免引入新的问题

使用特权

评论回复
9
光辉梦境| | 2024-11-2 07:00 | 只看该作者
LL库是STMicroelectronics提供的另一套库,它提供了更底层的接口,允许开发者更直接地控制硬件。使用LL库可以更灵活地处理IBI中断,但需要更多的硬件知识

使用特权

评论回复
10
暖了夏天蓝了海| | 2024-11-2 08:00 | 只看该作者
你可以编写自定义的中断处理程序,在发送可仲裁头时手动处理IBI中断。这种方法需要对硬件和中断处理机制有深入的了解

使用特权

评论回复
11
江河千里| | 2024-11-2 09:00 | 只看该作者
HAL库在处理带有可仲裁头的传输时,可能不支持IBI中断的正确处理

使用特权

评论回复
12
别乱了阵脚| | 2024-11-2 10:00 | 只看该作者
如果你需要在这种场景下处理IBI中断,可以考虑修改HAL库、使用LL库或编写自定义的中断处理程序。这些方法都需要对硬件和中断处理机制有深入的了解

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

960

主题

2908

帖子

7

粉丝