# LiteOS AT指令怎么使用 ## 一、AT指令概述 ### 1.1 什么是AT指令 AT指令(Attention Command)是一种广泛应用于通信模块的文本协议,最初由Hayes公司为调制解调器设计。在物联网领域,AT指令成为设备与通信模块(如Wi-Fi、NB-IoT、4G模块)交互的标准方式。 ### 1.2 LiteOS中的AT框架 华为LiteOS操作系统提供了完整的AT框架支持: - **多通道支持**:可同时管理多个AT设备 - **命令解析引擎**:自动解析输入指令 - **响应机制**:标准化响应格式 - **自定义扩展**:支持开发者扩展私有指令 ## 二、环境准备 ### 2.1 硬件要求 | 设备类型 | 推荐型号 | |----------------|--------------------------| | 开发板 | BearPi-HM Nano | | 通信模块 | ESP8266/BC35-G | | 调试工具 | USB转串口模块 | ### 2.2 软件配置 1. 安装LiteOS Studio开发环境 2. 获取最新LiteOS源码: ```bash git clone https://gitee.com/LiteOS/LiteOS.git
// target_config.h中启用AT功能 #define LOSCFG_COMPONENTS_AT 1
标准AT指令由三部分组成:
AT+<Command>[=<Param1>,<Param2>...]\r\n
示例:
AT+CGMR?\r\n // 查询模块版本
指令 | 功能描述 | 示例响应 |
---|---|---|
AT | 测试连接 | OK |
AT+RST | 模块复位 | +READY |
AT+CGMR | 查询固件版本 | 1.5.0 |
AT+CSQ | 信号质量查询 | +CSQ: 24,0 |
# 通过串口工具交互示例 ser.write(b'AT\r\n') response = ser.readline() # 应返回b'OK\r\n'
AT+CWMODE=1 // Station模式
AT+CWLAP
AT+CWJAP="SSID","password"
AT+CIFSR
// 建立TCP连接 AT+CIPSTART="TCP","192.168.1.100",8080 // 发送数据 AT+CIPSEND=5 > HELLO
at_cmd_func g_at_cmd_table[] = { {"+TEST", 5, at_test_execute, NULL, NULL} };
int at_test_execute(int argc, char **argv) { printf("Received %d params\n", argc); return 0; }
使用分块传输模式:
AT+CIPSENDL=1024 // 准备接收1024字节数据 <连续发送数据>
错误码 | 含义 | 解决方案 |
---|---|---|
ERROR | 语法错误 | 检查指令格式 |
+CME ERROR:5 | 网络拒绝 | 检查APN配置 |
+CMS ERROR:8 | 内存不足 | 减少单次数据量 |
#define AT_DEBUG 1
[AT][ERR] Parse error at pos 5
for(int i=0; i<3; i++){ if(send_at_cmd("AT+CREG?") == SUCCESS) break; }
AT+KEEPALIVE=1,300 // 每300秒心跳
AT+CFUN=0 // 关闭射频功能
AT+CIPSEND=ENC,<encrypted_data>
sequenceDiagram 电表->>+通信模块: AT+NMGS=1,01020304 通信模块->>+服务器: 发送数据包 服务器-->>-通信模块: ACK 通信模块-->>-电表: +NMGR: 0
AT+UPGRADE
AT+UGFILE=1,2048 <binary data>
注意:实际使用时请根据具体模块型号参考对应的AT指令手册,不同厂商的指令可能存在差异。本文示例基于LiteOS 5.0版本和通用通信模块编写。 “`
该文档包含约2650字,采用标准的Markdown格式,包含: 1. 多级标题结构 2. 表格和代码块 3. 序列图示例 4. 注意事项提示 5. 实际开发中的关键配置示例
可根据具体模块型号补充更多细节指令说明和实际案例。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。