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

 

  1.   商标
  2. 1 引言
    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. 2 应用示例
  4. 3 应用设置
    1. 3.1 硬件设置
    2. 3.2 软件工具
  5. 4 下载并导入以太网示例
  6. 5 如何为 TI-RTOS NDK 创建以太网应用
  7. 6 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. 7 Enet_udpecho_server_tirtos 示例概述
    1. 7.1 运行 enet_udpecho_server_tirtos 示例
  9. 8 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. 9 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 捕获