Qualcomm技术论坛
直播中

张涵

7年用户 144经验值
私信 关注
[经验]

基于QCA4020 QCLI UART AT的操作(1)

“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

■流量控制:关闭





更多回帖

发帖
×
20
完善资料,
赚取积分