[STM32H5] STM32H503 I3C从机复位成主机,无法发出波形

[复制链接]
 楼主| probedog 发表于 2024-9-25 10:23 | 显示全部楼层 |阅读模式
I3C先初始化成目标设备,然后调用deinit i3C的接口,再调用I3C INIT 初始化成控制器,但是这种情况下, I3C总线上是不会出现波形的。

如果我不调用第一个接口初始化成目标设备,直接掉后边的接口初始化成控制器,这个波形是正常出的。

请问这是什么原因。

我对比过初始化要配置的CFGR 和TIMING1 寄存器,当初始化成控制器的时候,上述两者情况中,这两个寄存器的值都是一致的.....
elephant00 发表于 2024-9-25 10:49 | 显示全部楼层
I3C相关的引脚(如SCL、SDA等)连接有没有短路或开路情况。
两只袜子 发表于 2024-9-25 10:53 | 显示全部楼层
检查引脚是否连接到了正确的外部设备或测试设备。
jcky001 发表于 2024-9-25 10:54 | 显示全部楼层
检查一下复位电路
cr315 发表于 2024-9-25 10:55 | 显示全部楼层
系统时钟和I3C时钟是否配置正确
yellow555 发表于 2024-9-26 18:46 来自手机 | 显示全部楼层
但是这种情况下, I3C总线上是不会出现波形的
一只眠羊 发表于 2024-11-10 01:00 | 显示全部楼层
在I3C总线中,控制器和目标设备的初始化过程是不同的。你描述的问题可能是由于在初始化过程中没有正确处理设备状态转换导致的
失物招領 发表于 2024-11-10 02:00 | 显示全部楼层
当你先初始化成目标设备,然后再切换到控制器时,可能没有正确处理设备状态的转换。I3C总线上的设备状态转换需要遵循特定的协议和时序,否则可能导致总线上的通信失败
温室雏菊 发表于 2024-11-10 03:00 | 显示全部楼层
在从目标设备切换到控制器时,可能需要对总线进行复位操作,以确保总线上的所有设备都处于正确的状态。如果没有进行复位操作,可能会导致总线上的设备状态不一致,从而无法正常通信
月亮一键变蓝 发表于 2024-11-10 04:00 | 显示全部楼层
虽然你提到CFGR和TIMING1寄存器的值是一致的,但可能还有其他寄存器或配置项在两种情况下有所不同。例如,控制器和目标设备的模式选择寄存器(MODESEL)可能需要不同的配置
春日负喧 发表于 2024-11-10 05:00 | 显示全部楼层
确保在从目标设备切换到控制器时,遵循I3C协议中定义的设备状态转换流程。这通常包括发送特定的控制命令或信号,以通知总线上的其他设备进行状态切换
她已醉 发表于 2024-11-10 06:00 | 显示全部楼层
在切换设备状态之前,尝试对I3C总线进行复位操作。这可以通过发送复位信号(如I3C总线复位命令)来实现,以确保总线上的所有设备都处于初始状态
未说出口的像你 发表于 2024-11-10 07:00 | 显示全部楼层
除了CFGR和TIMING1寄存器外,检查其他相关寄存器的配置,特别是与设备模式和状态转换相关的寄存器。确保在切换设备状态时,所有寄存器的配置都符合控制器模式的要求
将爱藏于深海 发表于 2024-11-10 08:00 | 显示全部楼层
在从目标设备切换到控制器时,确保正确处理设备状态转换和总线复位操作
我吃小朋友 发表于 2024-11-10 09:00 | 显示全部楼层
检查所有相关寄存器的配置,确保在切换设备状态时,所有寄存器的配置都符合控制器模式的要求。通过这些步骤,应该可以解决I3C总线上波形不出现的问题
在曼谷的春 发表于 2024-11-10 10:00 | 显示全部楼层
一般就是配置问题,其实可以使用cubemx来配置就好了
略略u 发表于 2024-11-14 23:00 来自手机 | 显示全部楼层
我对比过初始化要配置的CFGR 和TIMING1 寄存器
您需要登录后才可以回帖 登录 | 注册

本版积分规则

486

主题

3268

帖子

4

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

486

主题

3268

帖子

4

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