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.

[参考译文] CC1312R:I2S

Guru**** 2487165 points
Other Parts Discussed in Thread: CC1312R

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/sub-1-ghz-group/sub-1-ghz/f/sub-1-ghz-forum/1183499/cc1312r-i2s

器件型号:CC1312R

你(们)好

我让 I2S 处理一个按钮、每次按下按钮时、我都会得到一个哔声、这就是它应该执行的操作、 然而、I2S 有时似乎会闩锁、我设法跟踪了它在代码中的位置、请参阅下面的内容、当我单步执行时、它只会转到下面的两个函数、而没有其他位置

如果有任何帮助,将不胜感激。

此致

David

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 David:

    它似乎正在等待 I2S 停止字节? 您能否使用逻辑分析仪检查消息是否包含结束的0U 停止字节?

    谢谢、

    玛丽·H

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你(们)好、Marie

    我有一个总线分析器、但我不确定0U 停止字节是什么意思、因为我使用的是 max98357、它不返回任何值、只有数据输入?

    我附加了我使用的基于回显构建的基本代码

    e2e.ti.com/.../echo.zip

    此致

    David

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 David:

    只需读取代码、您就可以看到它正在等待0U。

            /* Wait for end of started transactions */
            while (I2SOutPointerNextGet(I2S0_BASE) != 0U) {}
            while (I2SOutPointerGet(I2S0_BASE) != 0U) {}

    您的逻辑跟踪是什么样子的? 成功案例和失败案例是否不同?

    谢谢、

    玛丽·H

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你(们)好、Marie

    很抱歉、我不确定您的逻辑跟踪是什么意思、(I2S)? 我仅使用 CC1312R 中的数据、其中没有数据(Max98357没有输出)、因此我不确定您的代码在等待什么、请您解释一下。

    此外、代码会运行并发出多次(随机)哔声、然后在上面的行上挂起、它还在等什么?

    此致

    David

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 David:

    我不是很熟悉 I2S、而只是查看代码:我们有一个 while 循环、等待 I2SOutPointerNextGet (I2S0_BASE)返回0U。  

    如果这个等待的时间出乎意料地长、我将假定发生以下情况之一:

    a)  I2SOutPointerNextGet (I2S0_BASE)返回0U 以外的值、因为消息尚未完成

    b) I2SOutPointerNextGet (I2S0_BASE)返回0U 以外的值、因为 I2S0_BASE 未正确更新

    如果情况为 a)、则应该可以在逻辑布线上看到。

    谢谢、

    玛丽·H

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你(们)好、Marie

    我没有逻辑分析仪、只有总线分析仪、是否有人可以检查我发送的代码、这会经常造成这个问题。 这是我们近一年来一直在进行的大型项目的最后一部分、解决这一问题至关重要。

    此致

    David

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 David:

    您能否制作一个重现两个 CC13xx LaunchPad 问题的最小示例?

    谢谢、

    玛丽·H

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你(们)好、Marie

    感谢您回来,我已经附上了将在 CC1312R Launchpad 上运行的新代码,如果您在调试中运行此代码,红色 LED 将闪烁,直至其挂起。 然后、暂停调试和单步执行应该会出现与我遇到的问题相同的问题、请注意这是随机的、您可能需要等待一段时间。

    感谢你的所有帮助

    David

    e2e.ti.com/.../i2secho_5F00_CC1312R1_5F00_LAUNCHXL_5F00_tirtos7_5F00_ticlang.zip

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 David:  

    由于优先级的原因、HWI 可能不会被调用。 请尝试降低线程的优先级、并对其进行测试。   

    此致、

    SID

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你(们)好、Sid

    感谢您的选择、在我发送的线程优先级高于1的代码中、它不能再低一些、我还将硬件中断优先级 I2S 设置为2、但问题仍然是一样的。

    如果您在 launchpad 上运行代码、它将向您显示问题。

    此致

    David

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 David:

      您能否在代码运行时监视 I2SOutPointerNextGet (I2S2_base)和 I2SOutPointerGet (I2S2_base)、并在发生这种情况时检查它们是否按预期更新?

    谢谢、

    玛丽·H

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你(们)好、Marie

    我尝试对此进行检查、但没有结果、错误似乎出现在您的代码行 I2SOutPointerNextGet (I2S0_BASE)我不知道您的代码需要什么、公平地说、 我创建了一个完整的工作示例、展示了问题、您的任何与 I2S 配合工作的工程师都可以在 LaunchPad 上运行此代码、并且可能在5分钟内发现问题。

    我不能再做这件事了、因为我没有编写问题所在的代码、我对此非常担心、因为这已经让我们等待了几周、现在有人可以在 launchpad 上运行代码了。

    此致

    David

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你(们)好、Marie

    请告诉我、我不会被忽略?

    此致

    David

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 David:

    您是否在没有更改的情况下从 SDK 运行 i2secho 示例? 您是否看到相同的错误?

    谢谢、

    玛丽·H

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你(们)好、Marie

    没有、i2echo 我复制了 SDK 示例并添加了小改动。 (请查看已发送的 zip 文件)

    该文件给出了 CC1312 Launchpad 上的错误  

    因此、代码在很大程度上是相同的、但问题似乎出在 TI 代码中。  

    此致

    David