仿真时,发现i2c的写会一直卡在I2C_ITConfig(I2C_IT_ERR, ENABLE),单步也跳不出去,该如何解决
热门产品 :
CH634: 4端口USB3.0 HUB控制器芯片
仿真时,发现i2c的写会一直卡在I2C_ITConfig(I2C_IT_ERR, ENABLE),单步也跳不出去,该如何解决
函数里没有写死循环判断,正常运行不会卡在这里面。
比对测试一下,用USB/串口烧录,不跑仿真能正常运行吗?
如果可以运行,与SWD有关,检查SWD的各项配置。
如果还是无法运行,排查是否有其他外设异常。
I2C是直接用的例程代码。
现在I2C和一个PD芯片通信,PD芯片的typeC口与USB线碰到的时候有概率程序会死掉,正因为有这个问题才会去仿真,仿真的结果就是卡在下面红线画圈的地方,此时无论单步跳入还是其他什么办法,都无法继续往下走。
如果我把I2C取消掉,typeC口与USB线无论怎么碰,都不会死掉,只有开了I2C才会这样。我尝试使用窗口看门狗试图关闭I2C,窗口看门狗好像也就最多发挥一次作用,不能稳定重启。