主题:controlSUITE中讨论的其他部件
工具/软件:Code Composer Studio
您好,
我尝试在Piccolo MCU上运行I2C模块。 我在controlSUITE的I2C示例的帮助下准备了一个与其他驱动程序类似的HAL驱动程序,但我的版本遇到了一个我无法理解的问题。
有一个ISR发送由ARDY位触发的停止条件,与示例中类似。 发送第一个字节后,CCS进入ISR,并在我清除 I2CSTR寄存器中的nack中断位的位置停止。 查看屏幕截图,了解它的外观(请注意,我没有在那里创建任何断点!)。 如果我删除'fault'行,在第一个'if'条件下也会发生相同的情况。 数据字节似乎已正确发送(请参阅逻辑分析器的下一个屏幕截图),但当我恢复程序时,不会再发送任何数据字节。
两个基本问题:
1)什么可能导致调试器在没有断点的情况下停止? 我是否可以从此处跟踪问题的来源?
2)对于I2C模块出现这种行为的原因有什么想法?
有趣的是:当程序停止时,查看模式寄存器后, MST位似乎 被清除了-什么意味着我的MCU状态从 主控更改为 从-怎么可能!?
--------
在高行处停止的CCS窗口:
逻辑分析器窗口:
