“QCLI_uart_at_demo”是一个演示应用程序,它提供用于执行
电路板功能的AT命令,并为具有低内存占用率的任何MCU提供通过UART接口使用CDB模块的功能,以及为模块定义的标准AT命令。
AT命令用于与通过串行接口连接到主机的AT命令固件加载的Quartz芯片组
通信。这些命令通过串行接口提供对外部主机的Quartz芯片组功能的访问。这将卸载BLE,Zigbee,WLAN和TCP / IP(在QCA4020中)和Quartz芯片组的网络管理开销,并促进小型嵌入式主机,基于具有串行接口的8051,PIC,MSP430,AVR等微控制器,使用可用的无线电技术与网络上的其他主机通信。这些串行主机使用简单的命令接口来配置和创建无线和网络连接。
“QCLI_uart_at_demo”的必要文件位于“
/ target / quartz / demo /
QCLI_uart_at_demo“目录。处理AT命令有四层,分别是“qc_at”,“qc_api”,“qc_drv”和“drivers”
AT命令的驱动程序层处理AT命令有四层,分别是“qc_at”,“qc_api”,“qc_drv”和“drivers”。
qc_at,qc_api,qc_drv文件夹始终在所有平台中编译,并充当访问平台特定操作的干净抽象。
Drivers文件夹包含可能/可能不包含少量模块的平台特定文件,可能/可能不包含来自模块的少量API,可能/可能不包含API更改,包括但不限于API名称更改,API参数名称更改,API参数计数更改 等等
模块Wi-Fi,P2P,MQTT,OTA,Net,Thread有四级(qc_at,qc_api,qc_drv,驱动程序)分层结构,而BLE,Zigbee等模块有三级(qc_at,qc_drv,驱动程序) )分层次结构。
layer - “qc_at”“qc_at”是ATW,ATP,ATO,ATN,ATM,ATZ,ATT等不同模块的所有AT命令的入口点,并在调用“qc_api”layer之前处理所有命令行验证。
此layer中允许的打印应严格使用/警告/错误打印
用法/警告/错误打印无法编译出来
编码指南:“qc_at”中的所有函数都具有以下格式
“qc_at_ _ ”
其中,MODULE_NAME = {wifi,p2p,ota,network,mqtt,zigbee等,}
API_NAME =源自qcom_ / qapi_ API命名法
qc_api layer:此层维护操作期间可能需要的任何可能状态,方法是保存状态并保存连接操作所需的配置。 “qc_api”层调用“qc_drv”layer来设置/获取模块特定的参数,并执行特定于模块的任何操作。该layer确实具有可以编译出来的调试打印。
编码指南:“qc_api”中的所有功能都采用以下格式:
qc_api_ _ 其中:
□MODULE_NAME = {wifi,p2p,ota,network,mqtt,zigbee等,}
□API_NAME =源自qcom_ / qapi_ API命名法
qc_drv layer:该layer调用特定于平台的API(4010/4020/4024等),这些API从driver_xxxx.c文件(特定于平台)注册为回调。 该layer确实具有可以编译出来的调试打印。
编码指南:“qc_drv”中的所有函数都采用以下格式:
qc_drv_ _
哪里:
□MODULE_NAME = {wifi,p2p,ota,network,mqtt,zigbee等,}
□API_NAME =源自qcom_ / qapi_ API命名法
命令格式和接口
■AT命令请求:所有命令均以“AT”开头,并且不区分大小写。 但是,命令的参数(例如SSID)区分大小写。 每个命令都以终止。
■AT命令响应:命令响应采用ASCII字符串形式。 命令成功返回“确定”消息。 命令失败返回“错误”消息。
在启动时,命令接口将等待UART上的命令输入
适配器的默认UART设置为:
■波特率:115200
■每个字符的位数:8
■奇偶校验:无
■停止位数:1
■流量控制:关闭