elephant00 发表于 2024-9-19 16:20

I3C 可仲裁头的IBI中断


现在的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的微控制器

三生万物 发表于 2024-11-2 03:00

在I2C通信中,IBI中断通常用于在数据传输过程中,当接收器准备好接收下一个字节时通知发送器。然而,IBI中断的处理在HAL库中可能并不完全支持,尤其是在发送可仲裁头时

一秒落纱 发表于 2024-11-2 04:00

根据你的描述,HAL库在处理带有可仲裁头的传输时,可能会忽略IBI相关的中断。这意味着在发送可仲裁头的过程中,如果发生了IBI中断,HAL库可能不会正确处理这个中断,导致传输无法继续进行,并且没有任何提示

夜阑风雨 发表于 2024-11-2 05:00

如果你需要在发送可仲裁头时处理IBI中断,可以考虑,你可以修改HAL库的源代码,使其在发送可仲裁头时能够正确处理IBI中断

远山寻你 发表于 2024-11-2 06:00

其实这需要对HAL库的内部实现有一定的了解,并且需要谨慎处理,以避免引入新的问题

光辉梦境 发表于 2024-11-2 07:00

LL库是STMicroelectronics提供的另一套库,它提供了更底层的接口,允许开发者更直接地控制硬件。使用LL库可以更灵活地处理IBI中断,但需要更多的硬件知识

暖了夏天蓝了海 发表于 2024-11-2 08:00

你可以编写自定义的中断处理程序,在发送可仲裁头时手动处理IBI中断。这种方法需要对硬件和中断处理机制有深入的了解

江河千里 发表于 2024-11-2 09:00

HAL库在处理带有可仲裁头的传输时,可能不支持IBI中断的正确处理

别乱了阵脚 发表于 2024-11-2 10:00

如果你需要在这种场景下处理IBI中断,可以考虑修改HAL库、使用LL库或编写自定义的中断处理程序。这些方法都需要对硬件和中断处理机制有深入的了解
页: [1]
查看完整版本: I3C 可仲裁头的IBI中断