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.

[参考译文] 编译器/DLPNIRNANOEVM:从 Linux 读取数据报 USB/UART 时出现问题(Rapbian)

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

https://e2e.ti.com/support/dlp-products-group/dlp/f/dlp-products-forum/847597/compiler-dlpnirnanoevm-problems-reading-datagrams-usb-uart-from-linux-rapbian

器件型号:DLPNIRNANOEVM
主题中讨论的其他器件:TM4C1297NCZAD

工具/软件:TI C/C++编译器

您好!

我希望有些人能帮我,因为我疯了。 :(.

我正在 Pi 4中开发用于连接微型设备的应用。 我安装了 Raspbian、在第一阶段、我尝试使用我所做的一个小应用程序进行扫描(基于您提供的库)。

我在 PC-Win 中编写代码、经过测试、一切都很完美、迁移到 Raspian 时会出现问题。

很奇怪、因为我可以发送命令来执行扫描、而 nano 确实如此、但问题是接收到的软件包。 我在 Raspbian 中没有收到与在 Windows 中收到的软件包相同的软件包。

我知道、因为我在两台计算机(PI 和 WIN PC)中安装了 Wireshark、并看到了差异、我可以看到发送到 nano 的数据报是完美的、但 PI 系统中的 nano 的响应不完整(无数据 USB 软件包;只有标头)。 我创建了一个非常简单的脚本,只执行 NNO_GetEstimatedScanTime()函数(当然是在初始化 USB 之后)。 PC 中的结果是完美的、但 Linux 中的相同代码始终返回0。 纳米发送给我的数据报是空的数据。

然后、我决定通过 UART 移动实现。 和... 结果是相同的。 我可以发送消息、nano 接收消息、但我无法读取格式正确的信息。 USB 或串行端口中均不存在。

我不知道问题在哪里,但请帮我:)。

在蓝色部分、您可以看到从我的 PC 应用程序中嗅探出的软件包。一切都很好。

Raspbian 中的同一应用程序生成发送空数据包的 nano (仅限标头和0数据)。

奇怪的是、使用 UART 的结果完全相同。 我只能在 Windows 中工作、但我需要在 Raspberry 中工作。

我使该应用程序也位于 Qt 中... 它非常简单、基于样本。

----

void *pData;

Int scanStatus; 
int 文件大小; 
int pBytesRead; 
unsigned int devStatus; 
Int Size; 

pData =(scanData *) malloc (scan_data_BLOB_size); 

USB_Init(); 

if (USB_Open ()= 0){ 
printf ("\nCONEXION CON DISPOSITIVO establecida¡"); 
其他 
printf ("\n 错误。 无引信可引信对引信 ningún DISPOSITIVO"); 
退出(1); 

printf ("\nTIEMCO Esperado:%d"、NNO_GetEstimatedScanTime ()); 

----


它在窗口中工作得非常完美。 在 Raspberry I 中、可以向 nano 发送命令、但读取时遇到问题(USB 和 UART)。
有人可以提供帮助吗?

非常感谢您的建议。

BR。

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

    尊敬的 David:

    请允许我们对此进行研究、我们将在本周再次与您联系。


    谢谢、

    Kyle

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

    当然、Kyle、

    我稍后将按照您可以看到的顺序执行我的代码项目(如果您对此感兴趣)。

    非常感谢。

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

    Kyle、正如我告诉您的、如果您对代码感兴趣、我随附了代码。

    它非常小,只是一个测试,为了将问题减少到模拟,我只使用了1种方法(NNO_GetEstimatedScanTime())。

    当我执行该方法时,我可以在 Wireshark 中看到数据报 PC->nano,我认为这是可以的。 奇怪的是、它与数据报有一点不同、我可以在 PC 中执行相同的程序(其中、nano 没有任何问题地进行回复)。 正如我在 Win 10 PC 中告诉您的、一切都很好、但在 Raspberry 中、执行某些方法(读取方法)会给我带来虚假的结果。

    这是我发送给 nano 的数据报(我认为很好;我发送您的库... 我只执行 NNO_GetEstimatedScanTime()。

    这里是我收到的数据报(我认为它不是数据)。 程序将会运行(这是正常的... 它正在等待"数据"响应)。

    我正在使用的 QT 就是那个

    这还不够(哈哈)、我制作了一个非常糟糕的视频、告诉你正在发生什么。 抱歉、quality.e2e.ti.com/.../source_5F00_code.zip

    www.youtube.com/watch

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

    尊敬的 David:  

    您提到、即使通过 Raspbian 上的 USB/UART、您也无法获取正确的数据、而您却能够在 Windows 上获取正确的数据。 拉斯比亚一方是否发生了什么事情? 您能否记录从 Raspbian 到 NIRScan Nano 的数据、并与您在 Windows 平台上时发送的数据进行比较? 我之所以向您提问、是因为 NIRScan Nano 的响应不应依赖于平台、只要您发送相同的数据包、您还应在任何平台上接收相同的数据包。

    谢谢、此致、

    Hirak。

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

    它的 ls 非常奇怪。 我认为这是在微型中实现的 HMI 协议的问题。

    出于任何原因、我的应用程序在 Windows 中工作得非常完美、但在 Raspbian 中不工作。

    我正在查看主机发送的数据报、并比较 WIN 与 Raspbian 和 DE 数据有效载荷的数据报是完美的、也是一样的。 不同之处在于标头。 接头有点不同。

    Raspbian 可能具有其他类型的 HMI 实施、使 nano 能够返回没有数据或数据不正确的消息。 是一个非常奇怪的问题。

    您现在该微型支持哪种版本的 HMI 吗?

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

    尊敬的 David:

    NIRCAN Nano 中使用的微控制器是 TM4C1297NCZAD。 请按照  微控制器的数据表获取有关 USB 外设的更多信息。 有关 USB 的详细信息、请参阅第20章第1406页。

    谢谢、此致、

    Hirak。