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参考文献

usb_dev_cdcserial

此示例将 USB 外设配置为 CDC 模式的 USB 设备,并将 UART0 外设配置为能够发送和接收数据。该示例演示了能够双向通信的 UART 转 USB 桥接器。要运行完整演示,需要两根 USB 电缆。一根电缆将连接到通过 UART0 运行的 Stellaris 虚拟 COM 端口,另一根电缆将连接到 TM4C 微控制器的 USB 总线(枚举为用作 CDC 设备时的串行 COM 端口)。使用 COM 端口终端软件,可以在 UART 和 USB 之间来回发送消息。

在此示例中,创建了三项任务来管理 UART 转 USB 桥接器。UART 转 USB 任务阻止了 UART RX 中断发出的一个任务通知。该任务释放后,会在读取 UART 数据的字节以通过 USB 进行回写之前,检查 USB TX 缓冲区的可用空间大小。它还会收集接收到的任何 UART 错误的相关数据,如果发生任何错误,则通过队列将信息发送给错误处理程序。

在 USB RX 处理程序发出任务通知以指示接收到数据之前,USB 转 UART 任务会一直被阻止。它将从 USB RX 缓冲区中读取 USB 数据并发送 UART 的字节。为了确保 UART TX FIFO 有足够的时间发送消息,在这个过程中会启用和监控 TX 中断。此外,互斥量用于保护对任务的访问,因为接收和处理 USB 消息的速度比完成 UART 传输的速度快。

最后一个任务是错误处理程序等待错误数据通过队列到达,如果收到数据,它会处理发生的错误并向 USB 堆栈报告,使 CDC 驱动程序能够知道发生了错误。