ZHCACG6 march 2023 TM4C1230C3PM , TM4C1230D5PM , TM4C1230E6PM , TM4C1230H6PM , TM4C1231C3PM , TM4C1231D5PM , TM4C1231D5PZ , TM4C1231E6PM , TM4C1231E6PZ , TM4C1231H6PGE , TM4C1231H6PM , TM4C1231H6PZ , TM4C1232C3PM , TM4C1232D5PM , TM4C1232E6PM , TM4C1232H6PM , TM4C1233C3PM , TM4C1233D5PM , TM4C1233D5PZ , TM4C1233E6PM , TM4C1233E6PZ , TM4C1233H6PGE , TM4C1233H6PM , TM4C1233H6PZ , TM4C1236D5PM , TM4C1236E6PM , TM4C1236H6PM , TM4C1237D5PM , TM4C1237D5PZ , TM4C1237E6PM , TM4C1237E6PZ , TM4C1237H6PGE , TM4C1237H6PM , TM4C1237H6PZ , TM4C123AE6PM , TM4C123AH6PM , TM4C123BE6PM , TM4C123BE6PZ , TM4C123BH6PGE , TM4C123BH6PM , TM4C123BH6PZ , TM4C123BH6ZRB , TM4C123FE6PM , TM4C123FH6PM , TM4C123GE6PM , TM4C123GE6PZ , TM4C123GH6PGE , TM4C123GH6PM , TM4C123GH6PZ , TM4C123GH6ZRB , TM4C123GH6ZXR , TM4C1290NCPDT , TM4C1290NCZAD , TM4C1292NCPDT , TM4C1292NCZAD , TM4C1294KCPDT , TM4C1294NCPDT , TM4C1294NCZAD , TM4C1297NCZAD , TM4C1299KCZAD , TM4C1299NCZAD , TM4C129CNCPDT , TM4C129CNCZAD , TM4C129DNCPDT , TM4C129DNCZAD , TM4C129EKCPDT , TM4C129ENCPDT , TM4C129ENCZAD , TM4C129LNCZAD , TM4C129XKCZAD , TM4C129XNCZAD
此示例应用程序演示了使用 TM4C 以太网控制器和 lwIP TCP/IP 协议栈的基于网络的 I/O 控制。DHCP 用于获取以太网地址。如果 DHCP 超时且未获取地址,将使用 AutoIP 来选择静态 IP 地址。所选地址将显示在 UART 上,允许用户通过普通 Web 浏览器访问该应用程序提供的内部网页。
应用程序主页左侧导航菜单中标记为 IO Control Demo 1 和 IO Control Demo 2 的页面介绍了通过网页控制电路板外设的两种不同方法。在这两种情况下,该示例都允许用户切换板载 LED 的状态,并设置 LED 的闪烁速率。
IO Control Demo 1 使用在 Web 浏览器中运行的 JavaScript,为特定 URL 发送 HTTP 请求。这些特定 URL 在文件系统支持层 (io_fs.c) 中被截获,并控制 LED 及动画效果。电路板生成的响应将返回浏览器,并通过更多 JavaScript 代码动态地插入页面 HTML 中。
IO Control Demo 2 使用标准 HTML 表单将参数传递至在电路板上运行的 CGI(通用网关接口)处理程序。在将响应页(在本例中为原始表单)发送回浏览器之前,这些处理程序会处理表单数据并根据请求控制动画效果和 LED。该应用程序会在初始化期间向 HTTPD 服务器注册每个 CGI 的名称和处理程序,并且在每次请求一个 CGI URL 时,服务器都会在解析 URL 参数后调用这些处理程序。
有关第二个演示中各种控制状态的信息,将使用 SSI(服务器端包含)标签插入提供的 HTML 中,这些标签由应用程序中的 HTTPD 服务器解析。与 CGI 处理程序一样,该应用程序在初始化期间向网络服务器注册其 SSI 标签列表和处理程序函数,只要在提供给浏览器的 .shtml、.ssi、.shtm 或 .xml 文件中找到任何已注册的标签,就会调用此处理程序。
除了 LED 和动画速度控制,第二个示例还允许将一行文本发送到电路板以输出到 UART。其目的是演示 HTTP 文本字符串的解码。
此示例中的网络服务器已根据基本 lwIP 包中提供的示例进行了修改。增加的功能包括 SSI 和 CGI 支持,还能够使服务器自动插入 HTTP 标头,而不是将这些标头内置到文件系统映像中的文件中。
内部文件系统映像的源文件可在 fs 目录中找到。如果更改了其中的任何文件,必须从 enet_io 目录运行以下命令,来重建文件系统映像 io_fsdata.h:
../../../../tools/bin/makefsfile -i fs -o io_fsdata.h -r -h -q
有关 lwIP 的更多详细信息,请参阅 lwIP 网页,网址为 http://savannah.nongnu.org/projects/lwip/