你(们)好
我让 I2S 处理一个按钮、每次按下按钮时、我都会得到一个哔声、这就是它应该执行的操作、 然而、I2S 有时似乎会闩锁、我设法跟踪了它在代码中的位置、请参阅下面的内容、当我单步执行时、它只会转到下面的两个函数、而没有其他位置
如果有任何帮助,将不胜感激。
此致
David
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
你(们)好、Marie
我有一个总线分析器、但我不确定0U 停止字节是什么意思、因为我使用的是 max98357、它不返回任何值、只有数据输入?
我附加了我使用的基于回显构建的基本代码
此致
David
尊敬的 David:
只需读取代码、您就可以看到它正在等待0U。
/* Wait for end of started transactions */
while (I2SOutPointerNextGet(I2S0_BASE) != 0U) {}
while (I2SOutPointerGet(I2S0_BASE) != 0U) {}
您的逻辑跟踪是什么样子的? 成功案例和失败案例是否不同?
谢谢、
玛丽·H
尊敬的 David:
我不是很熟悉 I2S、而只是查看代码:我们有一个 while 循环、等待 I2SOutPointerNextGet (I2S0_BASE)返回0U。
如果这个等待的时间出乎意料地长、我将假定发生以下情况之一:
a) I2SOutPointerNextGet (I2S0_BASE)返回0U 以外的值、因为消息尚未完成
b) I2SOutPointerNextGet (I2S0_BASE)返回0U 以外的值、因为 I2S0_BASE 未正确更新
如果情况为 a)、则应该可以在逻辑布线上看到。
谢谢、
玛丽·H
你(们)好、Marie
感谢您回来,我已经附上了将在 CC1312R Launchpad 上运行的新代码,如果您在调试中运行此代码,红色 LED 将闪烁,直至其挂起。 然后、暂停调试和单步执行应该会出现与我遇到的问题相同的问题、请注意这是随机的、您可能需要等待一段时间。
感谢你的所有帮助
David
e2e.ti.com/.../i2secho_5F00_CC1312R1_5F00_LAUNCHXL_5F00_tirtos7_5F00_ticlang.zip
你(们)好、Marie
我尝试对此进行检查、但没有结果、错误似乎出现在您的代码行 I2SOutPointerNextGet (I2S0_BASE)我不知道您的代码需要什么、公平地说、 我创建了一个完整的工作示例、展示了问题、您的任何与 I2S 配合工作的工程师都可以在 LaunchPad 上运行此代码、并且可能在5分钟内发现问题。
我不能再做这件事了、因为我没有编写问题所在的代码、我对此非常担心、因为这已经让我们等待了几周、现在有人可以在 launchpad 上运行代码了。
此致
David