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_keyboard

此示例展示了如何将 USB 外设配置为 USB HID 设备模式,同时将 HID 设备枚举为 USB 键盘外设。将微控制器枚举为键盘,可以在屏幕上输出文本,就像用户使用键盘一样。输出的消息由 LaunchPad 上的按钮控制。一个按钮将始终输出默认的问候消息。另一个按钮可以输出第二条默认消息,可以使用 COM 端口终端向 Stellaris 虚拟 COM 端口发送新消息,以更新默认消息。该消息必须附加 CR-LF,用于标识消息已完成。默认情况下,消息大小限制为 255 字节,发送超过 255 字节的消息将导致消息被拆分。可以通过编辑 UART_BUFFER_SIZE 变量来增加工程中消息的默认大小。如果连续发送三条或更多条消息,而未输出任何消息,则只会存储前两条消息以供显示。

在此示例中创建了两项任务。第一项任务通过 UART 接收数据并通过队列将已完成的消息发送到 USB 输出任务,来管理动态消息的更新。检查消息是否超出大小上限,或者接收到的最后两个字节是否对应于回车换行 (CR-LF) 组合。一旦这些条件中有一个被满足,将使用队列将更新后的消息信息传递给 USB 输出任务。

处理 USB 键盘消息输出的第二项任务是在被阻止状态等待,直到按钮给出信标。按下一个按钮将触发该按钮的 ISR,为输出任务提供信标。然后输出任务会检查按下了哪个按钮,并发送相应消息。如果按下的按钮对应着可以更新的消息,则输出任务首先会检查队列中是否已从 UART 外设接收到新消息。