跳转到内容

串口编程/调制解调器和 AT 命令/& 命令

来自维基教科书,开放的书籍,开放的世界

Hayes 兼容调制解调器和 AT 命令 参考:-- 特殊 AT 命令和字符序列 -- AT 命令 A - M -- AT 命令 N - Z -- AT& 命令

Hayes 兼容 AT& 命令

[编辑 | 编辑源代码]

此模块提供对以&开头的 Hayes 兼容 AT 命令的参考。以下列表包含原始 Hayes 命令。不同的调制解调器使用略有不同的命令。但是,此列表应该尽可能“通用”,不应扩展包含特定于调制解调器的命令。建议在附录中提供此类命令列表。

与其他 AT 命令相比,AT& 命令绝不特殊。只是 Hayes 在某个时候用完了 26 个单字母命令(ATA ... ATZ),所以他们引入了双字符命令。为了避免这些命令与单字母命令冲突,这些双字符命令得到了一个共同的前缀,即&


命令描述模板

[编辑 | 编辑源代码]

在所有命令都记录后将删除

语法

''<The syntax of the command, when necessary in EBNF>''

描述

<命令的描述,包括关于目的和效果的信息>

结果代码

结果代码
代码 描述
OK 参数有效<成功描述>
ERROR 否则<失败描述>

相关命令和寄存器

  • <相关命令和寄存器的链接列表>

&B: V.32 自动重训选项

[编辑 | 编辑源代码]

命令描述模板

语法

''<The syntax of the command, when necessary in EBNF>''

描述

<命令的描述,包括关于目的和效果的信息>

结果代码

结果代码
代码 描述
OK 参数有效<成功描述>
ERROR 否则<失败描述>

相关命令和寄存器

  • <相关命令和寄存器的链接列表>


&C: 数据载波检测选项

[编辑 | 编辑源代码]

语法

AT&C[0|1]

描述

此选项控制调制解调器 DCD(数据载波检测,别名 RLSD)RS-232 输出线的行为。可以告诉调制解调器始终保持线路接通(参数 0),或者线路应真正遵循电话线上载波的状态(参数 1,默认)。电话线上的载波是基本信号,随后(后来)数据将在此信号上进行调制。这就像某个广播电台的载波频率。载波检测指示两台配对的调制解调器是否已“调谐”。

如果 RS-232 DCD 线路被配置为由调制解调器驱动以遵循载波的状态(参数 1),则 DTE 可以使用此信息进行流量控制,向用户显示进度信息等。

另一方面,如果 DTE 软件(例如,某些终端程序)没有正确处理 DCD,或者 DTE 忽略了 DCD,则可以将 DCD 设置为始终接通(参数 0)。但是,让 DCD 遵循载波状态通常是更好的配置。

AT&C

AT&C0
始终保持 DCD 接通。
AT&C1
DCD 遵循载波状态(默认)。

结果代码

结果代码
代码 描述
OK 参数有效(0 或 1)
ERROR 否则(参数不是 0 或 1)

相关命令和寄存器

  • <相关命令和寄存器的链接列表>

&D: 数据终端就绪选项

[编辑 | 编辑源代码]

语法

AT&D[0|1|2|3]

描述

&D 命令指定调制解调器应该如何对 DTR(数据终端就绪)输入线上的接通到断开转变做出反应。DTE 可以使用此线路作为某些硬件握手的一部分。&D 命令的确切行为取决于其他设置,如下所述

&D 行为
&D &Q 描述
0 0、5 或 6 假设 DTR 始终接通。这允许与不提供 DTR 信息或提供错误信息的 DTE 通信。
0 1 或 4 当 DTE 断开 DTR(接通到断开转变)时,调制解调器挂断。这不会影响自动应答行为。
0 2 或 3 当 DTE 断开 DTR(接通到断开转变)时,调制解调器挂断。自动应答被阻止。
1 0、1、4、5 或 6 DTR 接通到断开转变被解释为异步转义序列已输入。调制解调器进入命令模式,但保持连接。
1 2 或 3 当 DTE 断开 DTR(接通到断开转变)时,调制解调器挂断。自动应答被阻止。
2 0、1、2、3、4、5 或 6 当 DTE 断开 DTR(接通到断开转变)时,调制解调器挂断。自动应答被阻止。这是默认设置。
3 0, 1, 4, 5, 6 DTR 接通到断开转变会导致调制解调器执行软重置,就像接收了 Z 命令一样。&Y 设置决定了调制解调器在重置期间将加载哪个配置概要文件。
3 2 或 3 当 DTE 断开 DTR(接通到断开转变)时,调制解调器挂断。自动应答被阻止。

通常,如果调制解调器支持其他功能(如传真),则会应用更多特殊规则。这超出了此通用 Hayes 命令描述的范围。

结果代码

结果代码
代码 描述
OK 参数有效(0 到 3)
ERROR 否则

相关命令和寄存器

&F: 恢复出厂配置文件

[edit | edit source]

命令描述模板

语法

AT&F[0|1]

描述

调制解调器加载出厂配置文件 0(默认)或出厂配置文件 1。出厂配置文件是由调制解调器制造商提供的固定调制解调器配置。

结果代码

结果代码
代码 描述
OK 加载配置文件(调制解调器之前处于离线状态)
ERROR 调制解调器在线。

相关命令和寄存器

  • <相关命令和寄存器的链接列表>

&G: 保护音选择

[edit | edit source]

语法

AT&G[0|1|2]

描述

在某些电话系统中,需要传输额外的保护音来禁用电话系统中的回声抑制器。回声抑制器会干扰数据通信,因为它们会(善意地)改变传输的信号,例如通过改变信号的延迟、相位和幅度。这会扰乱调制解调器的信号调制并引入通信错误。

保护音告诉回声抑制器(以及可能的其他设备)不要改变传输的信号。保护音在电信标准中是标准化的。

0
不使用保护音(默认)
1
将应答调制解调器的保护音设置为 550Hz。注意,此功能很少在当今的消费级调制解调器中实现。
2
使用 1800Hz 保护音。

结果代码

结果代码
代码 描述
OK 参数有效(0、1 或 2)
ERROR 否则。

&J: 插孔类型选择(辅助继电器选项)

[edit | edit source]

语法

AT&J[0|1]

描述

Hayes 调制解调器支持不同的插孔,用于将调制解调器连接到电话或专线。'&J' 命令允许选择要使用的插孔类型。通常,此命令在当今的调制解调器中未完全实现。通常,该命令只设置一些寄存器,否则什么也不做。

0
插孔类型 RJ-11、RJ41S 或 RJ-45S 型电话插孔(默认)
1
插孔类型 RJ-12 或 RJ-13 型电话插孔

结果代码

结果代码
代码 描述
OK 参数有效(0、1)
ERROR 否则。

&K: 本地流量控制选项

[edit | edit source]

命令描述模板

语法

<The syntax of the command, when necessary in EBNF>

描述

<命令的描述,包括关于目的和效果的信息>

结果代码

结果代码
代码 描述
OK 参数有效<成功描述>
ERROR 否则<失败描述>

相关命令和寄存器

  • <相关命令和寄存器的链接列表>

&L: 线路类型选择(拨号/专线)

[edit | edit source]

命令描述模板

语法

<The syntax of the command, when necessary in EBNF>

描述

<命令的描述,包括关于目的和效果的信息>

结果代码

结果代码
代码 描述
OK 参数有效<成功描述>
ERROR 否则<失败描述>

相关命令和寄存器

  • <相关命令和寄存器的链接列表>

&O: PAD 通道选择

[edit | edit source]

命令描述模板

语法

<The syntax of the command, when necessary in EBNF>

描述

<命令的描述,包括关于目的和效果的信息>

结果代码

结果代码
代码 描述
OK 参数有效<成功描述>
ERROR 否则<失败描述>

相关命令和寄存器

  • <相关命令和寄存器的链接列表>

&Q: 通信模式选项

[edit | edit source]

命令描述模板

语法

<The syntax of the command, when necessary in EBNF>

描述

<命令的描述,包括关于目的和效果的信息>

结果代码

结果代码
代码 描述
OK 参数有效<成功描述>
ERROR 否则<失败描述>

相关命令和寄存器

  • <相关命令和寄存器的链接列表>

&R: RTS/CTS 选项

[edit | edit source]

语法

AT&R[0|1]

描述

此选项控制调制解调器 CTS(允许发送)RS-232 输入线的行为。可以告诉调制解调器使用它进行硬件握手(参数 0),或忽略它(参数 1)。

AT&R0
使用来自 DTE 的 CTS 信号进行硬件流量控制
AT&R1
忽略来自 DTE 的 CTS(始终发送)

结果代码

结果代码
代码 描述
OK 参数有效<成功描述>
ERROR 否则<失败描述>

相关命令和寄存器

  • <相关命令和寄存器的链接列表>

&S: 数据集就绪选项

[edit | edit source]

命令描述模板

语法

<The syntax of the command, when necessary in EBNF>

描述

<命令的描述,包括关于目的和效果的信息>

结果代码

结果代码
代码 描述
OK 参数有效<成功描述>
ERROR 否则<失败描述>

相关命令和寄存器

  • <相关命令和寄存器的链接列表>

&T: 测试选项

[edit | edit source]

命令描述模板

语法

<The syntax of the command, when necessary in EBNF>

描述

<命令的描述,包括关于目的和效果的信息>

结果代码

结果代码
代码 描述
OK 参数有效<成功描述>
ERROR 否则<失败描述>

相关命令和寄存器

  • <相关命令和寄存器的链接列表>

&U: 格形编码选项

[edit | edit source]

命令描述模板

语法

<The syntax of the command, when necessary in EBNF>

描述

<命令的描述,包括关于目的和效果的信息>

结果代码

结果代码
代码 描述
OK 参数有效<成功描述>
ERROR 否则<失败描述>

相关命令和寄存器

  • <相关命令和寄存器的链接列表>

&V: 查看配置概要文件

[edit | edit source]

命令描述模板

语法

<The syntax of the command, when necessary in EBNF>

描述

<命令的描述,包括关于目的和效果的信息>

结果代码

结果代码
代码 描述
OK 参数有效<成功描述>
ERROR 否则<失败描述>

相关命令和寄存器

  • <相关命令和寄存器的链接列表>

&W: 将活动概要文件写入内存

[edit | edit source]

命令描述模板

语法

<The syntax of the command, when necessary in EBNF>

描述

<命令的描述,包括关于目的和效果的信息>

结果代码

结果代码
代码 描述
OK 参数有效<成功描述>
ERROR 否则<失败描述>

相关命令和寄存器

  • <相关命令和寄存器的链接列表>

&X: 同步传输时钟源

[edit | edit source]

命令描述模板

语法

<The syntax of the command, when necessary in EBNF>

描述

<命令的描述,包括关于目的和效果的信息>

结果代码

结果代码
代码 描述
OK 参数有效<成功描述>
ERROR 否则<失败描述>

相关命令和寄存器

  • <相关命令和寄存器的链接列表>

&Y: 选择用于硬重置的存储的概要文件

[edit | edit source]

命令描述模板

语法

<The syntax of the command, when necessary in EBNF>

描述

<命令的描述,包括关于目的和效果的信息>

结果代码

结果代码
代码 描述
OK 参数有效<成功描述>
ERROR 否则<失败描述>

相关命令和寄存器

  • <相关命令和寄存器的链接列表>

&Zn=x: 存储电话号码

[edit | edit source]

语法

&Z[0|1|2|3]=<x>

描述

&Z 命令允许将多达四个电话号码拨号字符串存储到调制解调器的 NVRAM 中。

如今,调制解调器通信软件很少使用此功能。DTE 软件更喜欢保留自己的可能的电话号码列表(例如公告板系统号码列表),这可以比仅仅四个不同的号码多得多。

该功能在自动化系统中仍然有用,例如在 DTE 软件不可(最终用户)配置的情况下。例如,一些嵌入式控制器可能能够使用通用的 Hayes 兼容命令运行调制解调器通信,以在出现问题时(盗窃警报、机器维护请求等)提醒远程站点。但由于成本或其他原因,嵌入式系统可能无法为最终用户提供配置嵌入式系统的方法。相反,嵌入式系统将使用 ATDS=0(或其他索引)拨号并依赖调制解调器的设置在索引 0(或其他索引)处存储电话号码。

n = 0 ... 3
拨号字符串的索引
<x>
拨号字符串。这可以是一个简单的号码,但它也可以包含针对 ATD(拨号)命令列出的拨号修饰符。通常,单个拨号字符串的大小不能超过 34 个字符。

示例 ():

要将号码 00155512345 存储到寄存器 0 以进行音频拨号 (T),请使用

AT&Z0=T00155512345<CR>

结果代码

结果代码
代码 描述
OK 索引有效(0 ... 3),并且拨号字符串少于 35 个字符。
ERROR 否则。

相关命令和寄存器

Hayes 兼容调制解调器和 AT 命令 参考:-- 特殊 AT 命令和字符序列 -- AT 命令 A - M -- AT 命令 N - Z -- AT& 命令

华夏公益教科书