请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:MSPM0G1106 大家好、我正在实施一个 I2C 多主机驱动器。 最终、它会卡在所需的众多 while 环路中、并且我的看门狗会将其复位。
我希望避免这种情况、并像一种超时方法那样实现、仅重置驱动器、而不是整个微控制器。
在这2种情况下、它会卡住。
案例1
要将其从控制器切换到主器件、我有以下序列:
它会在此期间卡住。
情形2:
在控制器模式下发送时、它会卡在这些 while 中的任何一个。
注意: 目前、我在同时激活3个微控制器的同时测试冲突(并且从未见过中断发生)、因此"卡住问题" 大约每150-200次激活一次。
所以、我希望创建一个超时值或捕获错误的值、重新启动外设、并中断这些 while。
这是我当前的配置: