电子鱼

  • 首页
  • 文章
  • 公告
  • 站点地图
  • 友情链接
eleFish
计算机·硬件·图形学
  1. 首页
  2. 其他
  3. 正文

AT指令集解析

2025年11月26日 47点热度 0人点赞 0条评论

AT指令集(AT Command Set)是用于控制通信设备(如调制解调器、手机模块、GSM/3G/4G模块等)的一组标准命令。它最初由Hayes Microcomputer Products公司在1981年为调制解调器开发,并被广泛应用于嵌入式通信领域。AT指令以AT开头,代表“Attention”,表示命令的开始。

AT指令集用于控制设备的各项功能,包括拨号、查询等,或者是超级终端。

AT指令基本格式

AT指令的基本格式如下:

AT<指令>[参数]
  • AT:指令的前缀,表示命令的起始。
  • 指令:命令功能。
  • 参数:可能会有的附加参数。

每条指令执行后,设备会返回响应,常见的响应包括:

  • OK:命令成功执行。
  • ERROR:命令执行失败。
  • 返回:某些查询命令会返回具体的数据。

AT指令的类型与常见指令

1. 基本通信指令

  • ATD:拨号命令,后面跟随电话号码(必须以分号;结尾)。
ATD1234567890;

用于拨打电话到1234567890。

  • ATH:接听电话。
ATH
  • ATH0:挂断电话。
ATH0

2. 查询指令

  • ATI:查询设备信息,返回设备的型号、版本等信息。
ATI
  • AT+CSQ:查询信号强度,返回信号强度(0-31)和噪声比(0-7)。
AT+CSQ

返回格式:+CSQ: <signal_strength>, <bit_error_rate>

例如:+CSQ: 15, 99,其中15表示信号强度,99表示无法获取噪声比。

  • AT+CREG?:查询网络注册状态,检查设备是否已注册到网络。
AT+CREG?

返回格式:+CREG: <n>,<status>。status表示设备的网络注册状态(例如,0表示未注册,1表示已注册)。

3. 短信相关指令

  • AT+CMGF:设置短信格式(0表示PDU模式,1表示文本模式)。
AT+CMGF=1
  • AT+CMGS:发送短信,先发送AT+CMGF指令设置短信格式,然后通过该命令发送短信。
AT+CMGS="+1234567890"
> Hello, this is a test message.

发送结束后,通过Ctrl+Z(ASCII码26)结束短信内容。

  • AT+CMGR:读取短信,后面指定短信索引。
AT+CMGR=1

返回短信的内容、发送时间、电话号码等信息。

4. 数据连接相关指令

  • AT+CGDCONT:设置PDP上下文,配置数据连接参数。
AT+CGDCONT=1,"IP","internet"

设置PDP上下文ID为1,承载类型为IP,APN为internet。

AT+CGACT:激活或去激活PDP上下文。

AT+CGACT=1,1 // 激活PDP上下文
AT+CGACT=1,0 // 去激活PDP上下文
  • AT+CGPADDR:查询PDP上下文的IP地址。
AT+CGPADDR=1

返回配置的IP地址。

5. 调制解调器控制指令

  • ATM:启用或禁用调制解调器回显。
ATM1 // 启用回显
ATM0 // 禁用回显
  • AT+CSQ:查询信号质量,返回信号强度和误码率。
AT+CSQ

返回格式:+CSQ: <signal_strength>,<bit_error_rate>。

6. 高级指令

  • AT+CLIP:启用/禁用来电显示。
AT+CLIP=1 // 启用来电显示
AT+CLIP=0 // 禁用来电显示
  • AT+CLCC:查询当前通话状态,返回当前通话的状态(通话方、时间等)。
AT+CLCC

返回格式:+CLCC: <index>,<direction>,<status>,<mode>,<number>,<type>

  • AT+VTS:发送DTMF(双音多频)信号,常用于电话按键输入。
AT+VTS="1" // 发送数字1的DTMF信号

高级指令

1. PDU模式与文本模式

AT指令的短信功能通常有两种模式:PDU模式(协议数据单元模式)和文本模式。文本模式是基于ASCII编码,比较直观,但PDU模式具有更高的效率和更强的兼容性,特别是在发送Unicode短信时。

  • AT+CMGF:用于设置短信格式,AT+CMGF=0表示PDU模式,AT+CMGF=1表示文本模式。

2. 命令与参数的响应格式

AT+CSQ命令返回的是信号强度和误码率:

+CSQ: <signal_strength>, <bit_error_rate>

返回的signal_strength表示设备接收到的信号强度,范围是0-31,数值越大表示信号越强。bit_error_rate表示误码率,值越小表示信号质量越好。

标签: 暂无
最后更新:2025年12月12日

Ziyang-Bai

这个人很懒,什么都没留下

点赞

文章评论

您需要 登录 之后才可以评论
no pic now

版权所有 © 2025 电子鱼. 保留所有权利

Theme Kratos Made By Seaton Jiang

浙ICP备2024108866号-2