简介面向使用移远 LTE Standard 模块的嵌入式开发者与硬件工程师这份 AT 命令手册覆盖 EC200x、EC600x 与 EG912Y 系列用于解决模块配置、网络连接、短信收发与状态查询等开发中的指令查阅问题属于偏实操的中高级技术参考。资源包共 1 个文件为 1 份 PDF 文档整体约 1.12MB正文按命令逐条展开包含语法格式、参数说明、响应示例与典型使用场景如 ATCGATT 查询 GPRS 附着状态、ATCMGF 切换短信模式以及拨号上网与数据传输相关命令。文档同时收录版本与修订记录、使用和披露限制、版权商标、第三方材料及隐私声明等内容便于读者在合规前提下查阅。已有 475 人学习适合需要快速定位命令细节、核对参数含义或排查模块通信问题的工程师常备查阅。1. 拿到一份 193 页的 AT 手册先别急着翻目录调试 LTE Cat.1 模组时最怕的不是硬件不亮而是串口能通、AT 有回显但网络死活起不来日志里只有一行CME ERROR: 3。这时候翻遍论坛不如把原厂 AT 命令手册摊开——我这次拆的就是移远 EC200x、EC600x、EG912Y 系列那份 193 页的 LTE Standard 模块 AT 命令手册版本 1.02021 年 12 月受控发布。它把通用命令、串口控制、状态控制、SIM 卡、网络服务、呼叫、短信、数据业务这些命令按章节排开每条都给了语法、参数、响应示例和 URC 说明。适合正在用这几个系列模组做数传、定位回传、低功耗采集的嵌入式工程师也适合刚接手 AT 调试、需要一份能对着抄参数的新手。手册不是教程它不会告诉你项目里先发哪条、后发哪条但所有“参数怎么设、返回码什么意思、失败该看哪”的答案都在里面。2. 把手册读成调试地图命令分组与最小可用链路2.1 先认清四类命令别在通用命令里找网络这份手册的目录结构本身就是一张调试地图。第 2 章通用命令管的是模组身份和串口行为比如ATI、ATGMR、ATCGSN、ATF、ATE、ATCFUN第 3 章串口控制命令管 DCD、DTR、流控和波特率ATC、ATD、ATIFC、ATIPR都在这里第 4 章状态控制命令是移远私有扩展的重头戏ATQCFG下面挂了十几个子项从gprsattach、nwscanmode、band到usbnet、nat第 5 章到第 7 章才进入 SIM 卡、网络注册和呼叫。很多人一上来就发ATCOPS?查运营商结果返回错误原因是模组还停在最小功能模式ATCFUN没设对。常见做法是先把功能模式拉到全功能再谈注册。我一般把最小可用链路拆成五步确认串口通、确认卡在位、确认功能模式、确认网络注册、确认数据附着。对应到手册里就是AT回OKATCPIN?回READYATCFUN1ATCREG?看stat是否为 1 或 5ATCGATT?看是否为 1。这五步任何一步卡住后面的ATQNWINFO、ATCSQ都只是辅助判断不要跳步。2.2 用 ATQCFG 把模组行为固定下来ATQCFG是这份手册里最值得先读透的一组命令因为它决定模组在项目现场的行为边界。比如ATQCFGnwscanmode控制搜网制式ATQCFGband锁定频段ATQCFGservicedomain选择服务域ATQCFGurc/cache决定 URC 是否缓存。现场最常见的翻车是模组在弱信号下反复搜网业务侧以为死机其实是nwscanmode设成了自动且没有限制模组在制式之间来回切。把搜网模式按项目实际网络固定能省掉大量“玄学掉线”。下面这段是我在串口工具里常用的初始化序列语言标成 bash 只是表示逐行发送实际是 AT 命令流# 1. 确认串口与模组身份 AT ATI ATGMR # 2. 关闭回显减少日志干扰 ATE0 # 3. 设置错误码为数字描述方便定位 ATCMEE2 # 4. 全功能模式 ATCFUN1 # 5. 固定搜网模式为 LTE only按项目实际网络改 ATQCFGnwscanmode,3,1 # 6. 查询当前配置确认写入生效 ATQCFGnwscanmode?逻辑说明ATE0关回显是为了让后续日志只保留模组返回避免命令和响应混在一起ATCMEE2把错误从笼统的ERROR变成带描述的结果码排错时能少猜一轮ATQCFGnwscanmode,3,1里第一个参数 3 表示 LTE only第二个参数 1 表示立即生效具体取值以手册第 4.3.2 节为准不同固件小版本可能有差异。参数改完一定用带?的查询命令回读不要假设写入成功。2.3 网络注册与信号查询的读法ATCREG和ATCSQ是两条最容易被误读的命令。ATCREG?返回的stat里1 表示已注册本地网络5 表示已注册漫游网络2 表示正在搜网3 表示注册被拒。看到 3 不要只怀疑天线先查ATCPIN?和ATCOPS?再看ATCEER有没有扩展错误。ATCSQ返回的rssi是 0 到 31 的等级99 表示未知很多人把 99 当成信号满格实际是没读到有效值。ATQNWINFO和ATQCELL是移远扩展里比较实用的两条前者给出当前网络制式、运营商和频段后者能拿到服务小区和邻区信息。现场排查“能注册但速率低”时我会同时看ATCSQ、ATQNWINFO和ATQCELL如果QNWINFO显示落在某个窄频段而QCELL的邻区质量更好就要考虑频段锁定是否过死。手册第 6.9 和 6.10 节给了完整返回格式照着字段对比凭经验猜靠谱。3. 串口、SIM 卡与 URC三条最容易出问题的支线3.1 串口流控和波特率别靠试第 3 章的ATIFC和ATIPR看起来简单实际是现场返工高发区。ATIFC设置流控方式常见取值是 0 无流控、1 软件流控、2 硬件流控ATIPR设置固定波特率手册里明确给了取值表。项目里如果 MCU 串口开了硬件流控而模组侧没开表现是发命令有回显但长数据丢包日志看起来像模组“吃命令”。我一般先确认两边流控一致再把波特率固定下来不用自动波特率避免上电时序差异导致握手失败。# 查询当前流控与波特率 ATIFC? ATIPR? # 设置为硬件流控波特率 115200 ATIFC2,2 ATIPR115200 # 回读确认 ATIFC? ATIPR?参数说明ATIFC2,2第一个参数是 TE 侧流控第二个是 TA 侧流控2 表示 RTS/CTS 硬件流控ATIPR115200写入后模组会按新波特率通信发送这条命令后串口工具要同步改波特率否则下一条命令必然超时。这一步的坑在于“命令发出去了但没回 OK”很多人以为没生效其实是工具还停在旧波特率。3.2 SIM 卡状态要看初始化不只看 CPINATCPIN?回READY只说明卡没被 PIN 锁住不代表卡已经完成初始化。手册第 5 章里ATQINISTAT专门查 SIM 卡初始化状态ATQSIMSTAT查插拔状态上报ATQCCID读 ICCID。现场遇到“CPIN 正常但注册不上”我会补一条ATQINISTAT如果返回的位标志显示初始化未完成就要看卡座接触和ATQSIMDET的检测配置。另一个常见问题是热插拔ATQSIMSTAT没开上报业务侧根本不知道卡被拔过日志里只看到网络突然掉。3.3 URC 配置决定日志能不能看懂URC 是模组主动上报的结果码网络注册变化、短信到达、拨号状态都靠它。手册第 2.25 节ATQURCCFG配置 URC 指示选项第 4.3.7 到 4.3.14 节涉及 RI 行为和 URC 延迟、缓存第 4.4 节ATQINDCFG控制具体 URC 上报开关。调试阶段我建议先把关键 URC 打开并关掉缓存让日志实时出来量产阶段再按功耗和主控处理能力决定是否开缓存。ATQCFGurcdelay设太大URC 会滞后业务侧看到的状态和实际状态对不上这种问题在低功耗项目里特别隐蔽。4. 避坑排查五条从日志里抠出来的经验4.1 返回 CME ERROR: 3 不一定是操作不允许现象发ATCOPS?或ATCGATT?返回CME ERROR: 3。原因ATCMEE没开或开了但错误码映射不同3 在部分上下文里表示“操作不允许”真正根因可能是功能模式不对或 SIM 未就绪。解决先ATCMEE2打开详细错误再按ATCFUN?、ATCPIN?、ATCREG?顺序回查不要直接改ATCOPS参数。4.2 能注册但 PDP 激活失败现象ATCREG?显示已注册ATCGATT?为 1但数据业务起不来。原因APN 配置或ATQCFGnat、ATQCFGusbnet的网卡工作模式与主控侧不匹配。解决先确认 APN 参数再查ATQCFGusbnet当前值按手册第 4.3.10 和 4.3.16 节核对主控是走 PPP 还是 RNDIS/ECM两边模式不一致时表现就是“网络已注册但拿不到地址”。4.3 改了波特率后模组“失联”现象发ATIPR115200后串口工具再也收不到响应。原因命令已生效工具仍用旧波特率。解决发送前记录当前波特率发送后立即切换工具波特率并重发AT如果已经失联用模组支持的自动波特率或复位后重新握手不要反复盲发命令。4.4 URC 丢失导致状态判断错乱现象业务侧长时间认为网络未注册但手动查ATCREG?是正常的。原因ATQINDCFG把注册 URC 关了或ATQCFGurc/cache开了缓存但主控没取。解决调试期打开关键 URC、关闭缓存用ATQURCCFG确认 URC 输出端口再逐条核对ATQINDCFG的开关状态。4.5 频段锁死导致现场无服务现象实验室正常现场无服务。原因ATQCFGband锁了实验室常用频段现场网络不在该频段。解决现场先用ATQCFGband查询当前锁定值必要时恢复自动搜网再用ATQNWINFO和ATQCELL确认实际驻留频段锁定策略要按项目部署区域定不要照搬实验室配置。5. 把手册变成可复用的自检脚本一个收尾技巧手册读到后面真正省时间的不是记住每条命令而是把高频命令固化成一份上电自检脚本让每次复现都走同一条路径。我的习惯是分三段第一段只做身份和串口确认第二段做 SIM 与功能模式第三段做网络与数据附着每段结束打一行汇总日志。这样现场出问题时日志能直接定位到哪一段断掉而不是在一堆 AT 回显里翻。下面是一个简化的自检脚本骨架用 bash 表示发送流程实际可移植到串口工具或 MCU 的 AT 状态机里#!/bin/bash # 简化示意逐条发送并检查关键字实际需按串口库替换 send_at send_at() { echo $1 # 这里替换为实际串口发送与读取 } # 第一段身份与串口 send_at AT send_at ATI send_at ATGMR send_at ATE0 send_at ATCMEE2 # 第二段SIM 与功能模式 send_at ATCPIN? send_at ATQINISTAT send_at ATCFUN1 send_at ATCFUN? # 第三段网络与数据附着 send_at ATCREG? send_at ATCSQ send_at ATQNWINFO send_at ATCGATT?逻辑说明每段只解决一类问题前一段不通过就不进入下一段避免错误叠加。ATQINISTAT放在ATCPIN?之后是因为卡未就绪时查初始化状态没有意义ATCFUN?回读是为了确认功能模式真的写进去了ATCGATT?放在最后是因为附着依赖注册结果。参数上唯一需要按项目改的是ATCFUN的取值和搜网模式其余命令在 EC200x、EC600x、EG912Y 这几个系列上基本通用但涉及ATQCFG子项时仍要以手册对应小节为准固件版本差异不能忽略。还有一个容易被忽略的点手册第 1 章讲了 AT 命令语句、响应格式、字符集和命令端口这些看似“前言”的内容决定了你解析日志的方式。比如响应格式字符和命令行终止符被改过日志解析规则就要跟着改字符集选错短信内容会乱码。我现在的习惯是每次接手新板子先跑一遍自检脚本再把ATV的当前配置存一份基线后面任何“之前好好的”问题都拿基线对比。从那以后我每次改ATQCFG之前都强制先回读、改完再回读宁可多两条命令也不让配置在黑匣子里漂着。希望这份拆解能帮到你把 193 页手册用成手边的调试地图而不是压在文件夹里的 PDF。本文还有配套的精品资源点击获取