ZHCAB52 April   2021 TM4C1292NCPDT , TM4C1292NCZAD , TM4C1294KCPDT , TM4C1294NCPDT , TM4C1294NCZAD , TM4C1299KCZAD , TM4C1299NCZAD , TM4C129DNCPDT , TM4C129DNCZAD , TM4C129EKCPDT , TM4C129ENCPDT , TM4C129ENCZAD , TM4C129LNCZAD , TM4C129XKCZAD , TM4C129XNCZAD

 

  1.   商标
  2. 引言
    1. 1.1 TI-RTOS 下载
    2. 1.2 许可
    3. 1.3 XDCtools
    4. 1.4 版本
    5. 1.5 配置 NDK 模块
    6. 1.6 基于套接字的 API
      1. 1.6.1 BSD 套接字 API
  3. 应用示例
  4. 应用设置
    1. 3.1 硬件设置
    2. 3.2 软件工具
  5. 下载并导入以太网示例
  6. 如何为 TI-RTOS NDK 创建以太网应用
  7. Enet_tcpecho_server_tirtos 示例概述
    1. 6.1 构建和刷写程序
    2. 6.2 对 MAC 地址进行检查和编程
      1. 6.2.1 使用 LM Flash Programmer(闪存编程器)
      2. 6.2.2 使用 CCS
      3. 6.2.3 使用 UniFlash
    3. 6.3 运行 enet_tcpecho_server_tirtos 示例
  8. Enet_udpecho_server_tirtos 示例概述
    1. 7.1 运行 enet_udpecho_server_tirtos 示例
  9. Enet_httpServer_tirtos 示例概述
    1. 8.1 为 HTTP 应用配置 NDK
    2. 8.2 嵌入式文件系统 (EFS) 操作
    3. 8.3 添加 HTTP 服务器内容
    4. 8.4 向 EFS 声明 HTML 文件
    5. 8.5 编写 CGI 函数
    6. 8.6 运行 enet_httpServer_tirtos 示例
  10. Enet_dns_tirtos 示例概述
    1. 9.1 如何为 DNS 配置 NDK
    2. 9.2 如何在 Wireshark 上查看 DNS 流量
    3. 9.3 运行 enet_dns_tirtos 示例
  11. 10Enet_sntp_tirtos 示例概述
    1. 10.1 运行 enet_dns_tirtos 示例
  12. 11Enet_tcpecho_client_tirtos 示例概述
    1. 11.1 配置服务器 IP 地址
    2. 11.2 配置 SocketTest 服务器
    3. 11.3 运行 enet_tcpecho_client_tirtos 示例
  13. 12Enet_udpecho_client_tirtos 示例概述
    1. 12.1 运行 enet_udpecho_client_tirtos 示例
  14. 13Enet_httpget_tirtos 示例概述
    1. 13.1 如何为 HTTP GET 配置 NDK 示例
    2. 13.2 运行 enet_httpget_tirtos 示例
  15. 14参考文献

运行 enet_udpecho_server_tirtos 示例

SocketTest 工具将在 PC 上作为客户端运行。确保 PC 连接到与 EK-TM4C1294XL 具有相同子网掩码的网络。

按照图 7-1 中所示的步骤设置 SocketTest:

  1. 转到“Udp”选项卡。
  2. 输入 PC 的 IP 地址和端口号 23,然后按下“Start Listening”按钮。服务器 IP 地址应为运行 SocketTest 的 PC 的地址。若要查找 PC 在网络中的 IP 地址,可以使用 Windows 的 ipconfig 命令。打开一个 Windows 命令窗口,在提示符下键入“ipconfig”,然后将能看到分配给 PC 的 IP 地址。请注意,在 SocketTest 中,无论 PC 是实际的服务器还是客户端,服务器地址字段都将是 PC 的地址。SocketTest 只监听指定地址的任何传入数据。
  3. 在“IP Address for Client”中输入 MCU 的 IP 地址。分配给 MCU 的 IP 地址显示在 CCS“Console”窗口中。
  4. 转到“Message”(消息)字段并输入一些消息,然后点击“Send”(发送)按钮。
  5. 查看 SocketTest 中的对话字段。
GUID-20210329-CA0I-MJ8Q-CF16-M0BSCDZRF1M5-low.jpg图 7-1 Enet_udpecho_server_tirtos 输出

检查图 7-2 中 Wireshark 捕获的 UDP 流量。

  1. 帧号 15351 是从服务器(IP 地址 192.168.254.92)到客户端(IP 地址 192.168.254.69)的第一个回传消息。
  2. 长度为 49 字节,如果我们数一下消息“This is a UDP Echo Server example for TI-RTOS NDK\n\r”的长度,就不会感到奇怪了。另外,看一下端口号。PC(客户端)的端口号是 60766,而 MCU(服务器)的端口号是 23。60766 与图 7-2 中输入的内容不同,原因是客户端从未显式选择要绑定到的 UDP 端口。客户端的栈只是选择一个当前可用的 UDP 端口来隐式绑定发送的 UDP 套接字,这个端口每次都可能不同。但是,在 MCU 上运行的 NDK 栈配置为绑定到端口 23。
GUID-20210329-CA0I-TPHG-J2CW-4B7S18WP2LZF-low.jpg图 7-2 Enet_udpecho_server_tirtos 的服务器到客户端 Wireshark 捕获