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.

[参考译文] USB2ANY:如何记录更多字节?

Guru**** 2538960 points
Other Parts Discussed in Thread: USB2ANY

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

https://e2e.ti.com/support/amplifiers-group/amplifiers/f/amplifiers-forum/1238042/usb2any-how-to-log-more-bytes

器件型号:USB2ANY

大家好、  

在查看...Explorer.log 文件时、显示以下消息:

2023年06月14日14:54:01.521 UART 读取0x0000 54字节数据:0x0000:30 30 20 30 30 42 39 20 30 46 37 45 20 30 30 00 00.00B9.0F7E.000
2023年06月14日14:54:01.789 UART 读取0x0000 3字节数据:0x0000:30 0D 0A 00 00 00 00 00 00 00 00 00 00 00 00 0 ..........
2023年06月14日14:55:05.292 UART 读取0x0000 54字节数据:0x0000:30 30 20 30 30 42 41 20 30 46 38 35 20 30 30 00.00BA.0F85.000
2023年06月14日14:55:05.545 UART 读取0x0000 3字节数据:0x0000:30 0D 0A 00 00 00 00 00 00 00 00 00 00 00 00 0 ..........

有54个字节的数据、但54个字节中似乎只记录了17个字节。 我如何记录剩余的数据?

(例如、查看3个字节、这些字节显示正确)

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

    您好、Cameron、

    我已经对我们的软件/USB2ANY 专家进行了寻呼。

    此致!

    Evan Su

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

    很抱歉耽误了时间...

    我认为 USB2ANY Explorer 会自动截断日志消息以匹配某个字符缓冲区长度、这是没有办法解决的。 USB2ANY Explorer 尚未积极开发、它更像是演示了 USB2ANY.dll API 所提供的功能、或者 USB2ANY.lib 中有哪些静态函数、 两者都包含在 SDK 中。 您可以尝试 自行手动调用 USB2ANY.dll 中提供的 API 函数- SDK 记录了所有需要的 API 调用。 USB2ANY UART 应用流程涉及:

    1. 调用 u2aFindControllers 检查总线上是否有控制器
    2. 调用 u2aGetSerialNumber 来选择特定控制器并获取其序列号
    3. 使用序列号作为参数调用 u2AOpen、以返回 USB2ANY 的后续函数句柄
    4. 使用适当的控制参数调用 u2AUART_Control、以根据需要配置接口
    5. 调用其他 UART API 函数来执行所需操作

    我 在另一篇 E2E 文章中有一个示例程序、但使用的是 SPI、而不是 UART。 我使用 Python 调用 USB2ANY.dll 中的 API 函数。

    https://e2e.ti.com/support/clock-timing-group/clock-and-timing/f/clock-timing-forum/1025934/lmx2594evm-serial-control-through-python

    查看上面的代码、第8行实际上有一个错误:我应该首先调用 u2adll.u2aGetSerialNumber (i、buf)、然后复制 buf 并将副本附加到控制器阵列。 Buggy 代码始终附加0。 幸运的是,u2AOpen 文档说,调用0作为序列号参数的函数,而是打开找到的第一个 USB2ANY ,所以意外的是代码仍然起作用… 但您应该意识到这种行为。 用以下代码替换第7-8行、以实现正确的行为。

    for i in range(u2adll.u2aFindControllers()):
        u2adll.u2aGetSerialNumber(i, buf)
        controllers.append(buf.value)

    请注意、我实际上并不是对 USB2ANY 的直接支持、 而是  时钟和计时领域的应用工程师、我们的团队恰好在我们的 EVM 上使用了很多 USB2ANY。 我能帮您取得这样的成绩、 或许能够解决一些基础知识问题、但 TI 的任何人都不积极维护 USB2ANY 项目... 我只能为您提供全力支持。

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

    Derek、这非常有帮助、给了我运行所需的一切。 谢谢!