前言
在前面两篇文章中已经写完了关于串口通信方面的知识以及完成了串口通信,接下来看了AT操作。今天大概看完了AT指令,写一篇博客记录一下。
提示:以下是本篇文章正文内容,下面案例可供参考
一、什么是AT指令?
AT指令集是用于从终端设备(Terminal Equipment,TE)或数据终端设备(Data Terminal Equipment,DTE)向终端适配器(Terminal Adapter,TA)或数据电路终端设备(Data Circuit Terminal Equipment,DCE)发送的。其对所传输的数据包大小有定义:即对于AT指令的发送,除AT两个字符外,最多可以接收1056个字符的长度(包括最后的空字符)。每个AT命令行中只能包含一条AT指令;对于由终端设备主动向PC端报告的URC指示或者response响应,也要求一行最多有一个,不允许上报的一行中有多条指示或者响应。AT指令以回车作为结尾,响应或上报以回车换行为结尾。
二、AT指令集
1、busybox
在学习AT指令的时候,使用的的是树莓派4G模块。然后安装了一个busybox软件,busybox是一个集成了一百多个最常用的Linux命令和工具的软件。下面我们来看看怎么使用。
busybox microcom -s 115200 ttyUSB2
-s指定一下波特率和使用的串口。(串口必须是4G模块,不然不会回复消息给你)
可以看到每发送一个AT就会回复一个OK,我们就可以利用不同指令结合设备的返回码来与设备进行通信。下面来介绍一下AT指令集的用法。
2、 AT指令集用法
AT指令是以AT作首, 字符结束的字符串,AT指令的响应数据包在 中。每个指令执行成功与否都有相应的返回。其他的一些非预期的信息(如有人拨号进来、线路无信号等),模块将有对应的一些信息提示,接收端可做相应的处理。 如上busybox软件发送AT指令,我们发送AT时,实际上发送给设备的是的是:
AT<CR>
即AT\r。“\r” 是指回到行首,但不会换到下一行,而当我们收到OK时,实际上是收到了:
<CR><LF><OK><CR><LF>
也就是 “\r\nOK\r\n” " /r/n " 合起来才是Windows下的Enter,即回到行首并新建一行。从上面的图中可以看到,OK的确换到了新的一行,当我们在敲AT时,又是在新的一行。
如果AT指令执行成功,"OK"字符串返回;
如果AT 指令语法错误或AT 指令执行失败,
"ERROR"字符串返回。
基本语法
这些AT命令的格式为
AT<x><n> 或 AT&<x><n>
其中以"x”为命令,并且“ n"是该命令的参数。 “ n”是可选,如果缺少默认值,将使用默认值。 S参数语法 这些AT命令的格式为
ATS <n> = <m>
其中“ n”是要设置的S寄存器的索引,“ m”是要分配给它的值。S参数语法这些AT命令的格式为
ATS <n> = <m>
其中“ n”是要设置的S寄存器的索引,“ m”是要分配给它的值。
几种常见的AT指令和响应类型
AT+< x>=? | 此命令返回参数和值范围的列表由相应的写命令或内部进程设置 |
---|
AT+< x>? | 命令返回参数的当前设置值或参数 | AT+< x>=<…> | 此命令设置用户可定义的参数值。 | AT+< x> | 读取受UE内部流程影响的被变量参数 |
总结
关于更详细的AT指令集我这就没有统一的总结规范出来,就看了我使用的的部分。需要的到家可以到下面这个博主的博客取一下。 https://blog.csdn.net/weixin_45121946/article/details/107032711?spm=1001.2014.3001.5501
|