通过 USB 接口使用 AT 命令
概述
在 主控控制模式 下,为满足即插即用和高兼容性需求,可以通过 USB 外设接口进行数据传输。
主控设备与 AT 设备按 以下模式组合 连接:
模式 1:主控作为 USB Host,AT 设备作为 USB Device
模式 2:主控作为 USB Device,AT 设备作为 USB Host
双方通过 USB CDC-ACM 协议进行 AT 命令交互,配置步骤如下:
参考 AT 配置修改 指定 AT 模组使用 USB 接口。
参考 配置 SDK(menuconfig) 进入
CONFIG USB
配置,选择USB Mode
和CDC ACM
。
备注
atcmd_config.json 中的
USB Mode
参数定义:0
:USB Device1
:USB Host
该参数需要与 Menuconfig 中的配置一致。
主控参考示例
根据主控角色选择对应示例:
USB Host 模式:https://github.com/Ameba-AIoT/ameba-rtos/tree/master/component/example/atcmd_host/atcmd_usbd_host, 需搭配 AT 模组 USB Device 模式 使用。
USB Device 模式:https://github.com/Ameba-AIoT/ameba-rtos/tree/master/component/example/atcmd_host/atcmd_usbh_host,需搭配 AT 模组 USB Host 模式 使用。
示例演示了 USB 主机与设备的完整通信流程,建议在正式开发前运行此代码示例,以验证连接和配置的正确性。之后,参考代码示例将其适配到特定 MCU 平台应用程序中。
在示例代码中,添加了一个 UART 任务用来接收 AT 命令并打印 AT 响应。整体数据流如下图所示:
备注
USB Host 初始化需等待设备枚举完成。
通信速率
USB 链路速率测试,请参考 AT+TEST 命令。
备注
USB 链路速率受以下因素影响:
AT 模组的 USB 角色(Host/Device)
AT 模组支持的 USB 速率模式(全速/高速)