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 , TM4C123FE6PM , TM4C123FH6PM , TM4C123GE6PM , TM4C123GE6PZ , TM4C123GH6PGE , TM4C123GH6PM , TM4C123GH6PZ , TM4C123GH6ZXR , TM4C1290NCPDT , TM4C1290NCZAD , TM4C1292NCPDT , TM4C1292NCZAD , TM4C1294KCPDT , TM4C1294NCPDT , TM4C1294NCZAD , TM4C1297NCZAD , TM4C1299KCZAD , TM4C1299NCZAD , TM4C129CNCPDT , TM4C129CNCZAD , TM4C129DNCPDT , TM4C129DNCZAD , TM4C129EKCPDT , TM4C129ENCPDT , TM4C129ENCZAD , TM4C129LNCZAD , TM4C129XKCZAD , TM4C129XNCZAD

 

  1.   摘要
  2.   商标
  3. 1引言
  4. 2安装方法
    1. 2.1 更新 TivaWare 目录中的 FreeRTOS 版本
    2. 2.2 为 TM4C LaunchPad 添加 FreeRTOS 硬件驱动程序文件
  5. 3TM4C FreeRTOS 示例的架构
    1. 3.1 适当的时钟配置
    2. 3.2 硬件中断与 FreeRTOS 内核配合使用
    3. 3.3 Code Composer Studio 对 FreeRTOS 的调试支持
  6. 4示例工程演练
    1. 4.1 下载并导入示例
    2. 4.2 USB 示例
      1. 4.2.1 usb_dev_bulk
      2. 4.2.2 usb_dev_cdcserial
      3. 4.2.3 usb_dev_keyboard
    3. 4.3 以太网示例
      1. 4.3.1 enet_lwip
        1. 4.3.1.1 运行 enet_lwip 示例
      2. 4.3.2 enet_io
        1. 4.3.2.1 运行 enet_io 示例
  7. 5参考文献

enet_io

此示例应用程序演示了使用 TM4C 以太网控制器和 lwIP TCP/IP 协议栈的基于网络的 I/O 控制。DHCP 用于获取以太网地址。如果 DHCP 超时且未获取地址,将使用 AutoIP 来选择静态 IP 地址。所选地址将显示在 UART 上,允许用户通过普通 Web 浏览器访问该应用程序提供的内部网页。

应用程序主页左侧导航菜单中标记为 IO Control Demo 1IO 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/