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.
大家好、
我最近开始了一个项目、在该项目中、我需要通过以太网将 TM4C1294XL 板连接到 PC。 我没有网络背景、因此我很难理解编写代码使其正常工作的方法。 我已经阅读过有关网络的内容、并且还收集了该接口的所有必要细节、但我无法理解如何将它们整合在一起。
我的应用是:我想使用 TCP/UDP 协议通过以太网将 TM4C1294XL 与我的 PC 相连、我只需要发送像数字这样的原始数据、我只需要在 TeraTerm 上的 PC 上显示这些数据、或者在 PC 上的 HyperTerminal 类型的 Docklight 上显示这些数据。
应用程序对大家来说可能很简单、但我以前从未这么做过、所以我在将所有应用程序组合在一起时发现了一些困难。 我们将感谢您的任何帮助。
我是第一次在论坛上发帖、因此如果需要其他信息、请告知我。
注意:我已经阅读了 LwIP 原始 API 文档、因此我知道所有函数都可以正常工作、我所需要的只是一个"工作代码或示例代码"、我可以使用它来了解如何将所有内容相结合、 我也了解了 Tiva 软件系列中提供的示例、但它们都是基于 HTTP 服务器客户端的、不符合我的目的。 请帮帮我。
您好!
您可能误解了我的问题。
我想通过以太网而不是 UART 实现连接。
有了 UART、操作相当简单、但我没有在以太网上完成、所以我只需要一个示例代码来演示如何执行(如果有)。
您好、Jay、
我了解您 的要求、例如以太网 TCP/UDP http 等。 您还 表示 需要 将数据输出到超级终端、这需要通过 TM4C UART 访问虚拟 COM 端口。
REX 云门户访问中的许多示例都 预先编写了类似代码、例如 LWIP 天气和物联网示例。 您可以通过这些示例构建项目、并学习编程、使用新固件写入闪存等。
无论您是需要安装 Code Composer Studio v6.x-v7.x、 还是 可能忘记您的想法。 CCS v7 具有一些新功能、例如 为 您的项目制作定制板所需的云链接 GUI 编写器、以便用户控件访问 TM4C LaunchPad。
http://processors.wiki.ti.com/index.php/Download_CCS
[引用用户="Jay Shah54"]我只需要发送原始数据,如数字,我只需要在 TeraTerm 上的 PC 上或 PC 上的 Docklight 上显示。[/引用]
因此 您的 Docklight 必须 准备好以太网吗? 即使如此、仍需要安装 CCS 才能将数据发送到 PC。
我们 修改了 Tivaware USB 批量驱动程序示例、以 高速将数据从 EK 发送到 Windows。 Windows 虚拟 USB 批量设备客户端是一个 VS2000项目、源代码易于修改、仅 在回显模式下接收数据、e 添加到启动中。 批量 USB 的 EK 部分 是 CCS 项目、但 REX 云中有 B2B 以太网项目 、可根据需要进行修改。
[引用用户="Jay Shah54"]我的意思是我的主板和 PC 只能通过以太网进行通信(无 UART)。[/quot]
以太网传输是较慢数据包 TX/RX 的一种超限、除非为 数据(如 Telnet TCP 23 )提供 Windows GUI 服务、并使用 UDP 23 命令。 当然 、您的 PC 有 一个 USB 端口 、更易于编码 以 高达250kbps 的速率处理数据、这不会降低传输速度。 从未在连接的任一端看到 USB 溢出缓冲器。 在 一秒内计数32548个数据包。
telnet 示例是可能与您搜索的代码接近的唯一其它代码。 注意 :小数据包计数使用 USB 时数据速率较慢。它是通用串行 的,每台计算机都有一 个 USB 端口,这与 TCP 不同,TCP 要求在 PC 附近放置一个交换机。 这可能适合研究、但由于 USB 设备传输已成为后期的冠军、因此在实际的机器领域中不会进行实践。
尊敬的 B.P.:
之前我们"喜欢"您对海报的回应。 我们支持您选择以太网 USB 的方向。
"批量 USB 示例"中的"kicker"就是这样一个事实:"仅主机可以启动传输!" ("回波"功能在开发过程中证明是有用的、但对于"真实"应用来说(超出)是浪费。
您的帖子(此主题:3月28日、09:17)注意到:"REX 云中的 B2B 以太网项目"。 该项目是否使 TM4C 能够(同时)发起和响应来自"主机"(无论是 PC 还是其他 MCU) 的请求、再减去任何"回波"?
非常感谢您的时间/关注。
就像明智的!!!
目标(TM4C)也从 PC 主机接收 USB 数据包。 示例 MS Visual Studio Bulk 客户端项目易于修改、以实现更多功能。 在控制台(上面发布的对话框)处理用户击键的示例、将相同的数据发送到目标、目标将其回传到主机。 批量客户端的一些更改可以轻松地将其转换为目标的 GUI。 对 C++编程背景较少的个人来说、改变现有代码剪切会更容易。
我们使用批量客户端将数据从目标发送到主机并禁用 RXD 事件标志、尽管一旦您在 Windows 中启动串行 CDM 连接、它是一种双向串行传输。 编程器只需从目标 RXD 缓冲区事件处理程序中获取数据、并对其进行处理、使其成为目标的命令处理器。 因此、请在(USB_dev_bulk.c)中移回回部分并修改 VS bulk 主机程序、然后您会看到一个排序的命令 GUI。
// // //处理与传输通道(到 // USB 主机的数据)相关的批量驱动程序通知。 // //\param pvCBData 是此通道的客户端提供的回调指针。 //\param ulEvent 标识我们收到通知的事件。 //\param ulMsgValue 是特定于事件的值。 //\param pvMsgData 是特定于事件的指针。 // //此函数由批量驱动程序调用,以通知我们 与传输数据通道(向 USB 主机传输//数据的输入通道)操作相关的任何事件//。 // //返回值是特定于事件的。 //// ***************** uint32_t TxHandler (void *pvCBData、uint32_t ui32Event、uint32_t ui32MsgValue、 void *pvMsgData) { // //我们不需要对任何发送事件进行任何响应 //。 我们所做的就是更新传输计数器。 // if (ui32Event == USB_EVENT_TX_COMPLETE) { G_ui32TxCount += ui32MsgValue; } 退货(0); } //********* // //处理与接收通道相关的批量驱动程序通知( 来自// USB 主机的数据)。 // //\param pvCBData 是此通道的客户端提供的回调指针。 //\param ui32event 标识我们收到通知的事件。 //\param ui32MsgValue 是特定于事件的值。 //\param pvMsgData 是特定于事件的指针。 // //此函数由批量驱动程序调用,用于通知与 接收数据通道(执行 来自 USB 主机的//数据的输出通道)操作相关的任何事件//。 // //返回值是特定于事件的。 //// ***************** uint32_t RxHandler (void *pvCBData、uint32_t ui32Event、uint32_t ui32MsgValue、 void *pvMsgData) { // //我们要发送哪个事件? // switch (ui32event) { // //我们已连接到主机,现在可以进行通信。 // 案例 USB_EVENT_Connected: { G_bUSBConfigured = true; G_ui32Flags |= COMMAND_STATUS_UPDATE; // //刷新缓冲区。 // USBBufferFlush (&g_sTxBuffer); USBBufferFlush (&g_sRxBuffer); 中断; } // //主机已断开连接。 // 案例 USB_EVENT_DISCONNECTED: { G_bUSBConfigured = false; G_ui32Flags |= COMMAND_STATUS_UPDATE; // //刷新缓冲区。 // USBBufferFlush (&g_sTxBuffer); USBBufferFlush (&g_sRxBuffer); 中断; } // //已收到新的数据包。 // 案例 USB_EVENT_RX_Available: { // //从回调数据获取指向我们的实例数据的指针 //参数。 // psDevice =(tUSBDBulkDevice *) pvCBData; /*永远不能从客户端返回数据*/ USBBufferFlush (&g_sRxBuffer); 中断; // //读取新数据包并将其回传到主机。 // //return (EchoNewDataToHost (psDevice、pvMsgData、ui32MsgValue)); } // //忽略暂挂并立即恢复。 // 案例 USB_EVENT_SUSPEND: 案例 USB_EVENT_RESUME: 中断; // //忽略所有其它事件并返回0。 // 默认值: 中断; } 返回(0); }
谢谢-谢谢。 因此、不要劫持海报的线程-您是否可以描述"如何甚至测量" 250kbps 的传输速度? 假设速度已正确测量/有效-这可能会诱使海报遵循您的"使用 USB"方向。
在海报的"高速"愿望目标中、我们注意到 LX4F 和 TM4C123 (两者)支持高达5Mbps 的 UART 波特率! 和- UART 可能会驱动到 RS-422/485 (平衡、差分)收发器中-尤其是适应高"速度和距离"-远远超过"单端" USB 电缆获得的数据。 如果"速度单独"是首要问题-这种(淘汰的) UART 可能会"从灰烬中上升"、则需要进一步考虑...
[引用 USER="CB1_MOBILE "]如果"速度单独"是首要问题-此(已淘汰的) UART 可能"从灰烬中上升"-需要进一步考虑...[/引述]
也许 这是一个有效的点、因为大多数以太网 Tivaware 示例似乎都涉及 到 UART 、而 USB 电缆的销售长度为12英尺或更长。
[引用 USER="CB1_MOBILE "]“如何测量或即使测量了”250kbps 的传输速度? [/报价]
客户端 软件测试 USB 回显速度、但谁可以键入除 AI 机器人以外的其他快速命令。 数据的正电子大脑可能 会以 这样的速度产生一个组织性的二维条 、即固态眼睛和手指处理这种快速的命令 。
[引用 user="BP101"]……在不需要 JTAG 端口的情况下,几乎未来会直接支持 UART/USB 和以太网。[/quot]
我们被告知复活节兔子已经完全雪橇了(还是圣诞老人?) 我希望这种"直接支持"能够在(两者)一个可以理解且负担得起的保健计划之后实现。 (请记住-如果您喜欢 Docter/JTAG/SWD -您可以保留"他/她/她"。) (也许...)