文档库 最新最全的文档下载
当前位置:文档库 › Intel开发者手册 第二卷 指令集手册 第2章

Intel开发者手册 第二卷 指令集手册 第2章

Intel开发者手册 第二卷 指令集手册 第2章
Intel开发者手册 第二卷 指令集手册 第2章

指令格式

这一章详细描述所有Intel 64和IA-32处理器指令格式.保护模式指令,实地址模式以及虚拟8086模式指令格式将在2.1节描述.IA-32e模式及其子模式指令格式将在2.2节描述.

2.1 实模式,保护模式,以及虚拟8086模式指令格式

Intel-64和IA-32架构指令编码是图2-1所示格式的子集.一条指令包括可选的指令前缀(顺序任意),主操作码(最多3字节),由ModR/M和SIB字节(可选) 组成的地址格式描述符(如果需要的话),偏移量(可选)以及立即数(可选).

图 2-1. Intel 64 和 IA-32 架构指令格式

2.1.1 指令前缀

指令前缀分为四组,每一组包含一些允许的前缀码.对于任何指令,前缀可以从这四组(组

1,2,3,4)里的挑选,并且它们不区分次序.

?组1

—锁定和重复前缀:

Vol. 2A 2-1

指令格式

?F0H - LOCK

?F2H - REPNE/REPNZ,仅用于串操作和I/O指令,也可被用作某些指令的强制性前缀

?F3H - REP或REPE/REPZ,仅用于串操作和I/O指令,也可被用作某些指令的强制性前缀

?组2

—段重载前缀:

?2EH—CS 段重载(用于任意分支指令时保留 )

?36H—SS 段重载(用于任意分支指令时保留 )

?3EH—DS 段重载(用于任意分支指令时保留 )

?26H—ES 段重载(用于任意分支指令时保留 )

?64H—FS 段重载(用于任意分支指令时保留 )

?65H—GS 段重载(用于任意分支指令时保留 )

—分支提示:

?2EH—分支不被接受(仅用于Jcc指令中)

?3EH—分支被接受(仅用于Jcc指令中)

?组3

?66H—操作数大小重载前缀,也可被用作某些指令的强制性前缀.

?组4

?67H—地址尺寸重载前缀

LOCK前缀(F0H)在多处理器环境下强制执行独占共享内存操作.详见《Instruction Set Reference, A-M》第三章"LOCK –断言LOCK#信号前缀".

重复前缀(F2H,F3H)将会重复操作字符串的每一个元素.只有

MOVS,CMPS,SCAS,LODS,STOS,INS,OUTS等字符串操作或I/O指令才能使用这些前缀. 对Intel 64 或 IA-32 其他指令使用重复前缀和/或未定义的操作码是被保留的,将会引起不可预知的行为.

某些指令可能使用F2H,F3H作为强制性前缀来表示特定的功能.强制性前缀应当位于其他可选的前缀之后(例外的情形请查看第2.2.1节,‖REX前缀‖)

2-2 Vol. 2A

指令格式

分支提示前缀(2EH,3EH)允许程序给处理器一个最有可能的执行分支提示.这些前缀只能用于条件指令(Jcc).在Intel 64 或 IA-32 其他指令中使用分支预测前缀或者未定义的操作码是被保留的,将引起不可预知的行为.

操作数大小重载前缀允许程序在16位和32位操作数大小间切换.它们中任一个都可以是默认值,而使用这个前缀则选择非默认值.

某些SSE2/SSE3/SSSE3/SSE4和使用3字节操作码的指令可能使用66H作为强制性前

缀来表示特定的功能. 强制性前缀应当位于其他可选的前缀之后(例外的情形请查看第

2.2.1节,‖REX前缀‖) . 66H前缀的其他用法是被保留的, 将引起不可预知的行为.

地址尺寸重载前缀(67H)允许程序在16位和32位地址间切换.它们中的任何一个都可以是默认值,使用这个前缀选择非默认值.当指令中的操作数不在内存中,使用这个前缀或未定义的操作码时,操作被保留,可能引起不可预知的行为.

2.1.2 操作码

主操作码长度为1,2或3字节. ModR/M可能编码附加的3位操作码. 主操作码中定义了一些更小的域.这些域定义了操作方向,偏移大小,寄存器编码,条件代码,或符号扩充.指令使用的域因操作码的类别而不同.

双字节通用和SIMD指令操作码由下面部分组成:

?转义码(0FH),加上第二个操作码字节,或者

?一个强制性前缀(66H,F2H,或F3H), 转义码(0FH),第二个操作码字节(和上面一样)

例如,CVTDQ2PD由下面的二进制序列组成:F3 0F E6 .第一个字节是一个

SSE/SSE2/SSE3指令的强制性前缀(不被视为重复前缀).

三字节通用和SIMD指令操作码由下面部分组成:

?转义码(0FH),加上另外2个操作码字节,或者

?一个强制性前缀(66H,F2H,或F3H), 转义码(0FH),另外2个操作码字节(和上面一样)

比如,XMM寄存器指令PHADDW由下面的二进制序列组成:66 0F 38 01.第一个字节即强制性前缀.

有效的操作码在附录A和附录B中被定义.

Vol. 2A 2-3

指令格式

2.1.3 ModR/M 和 SIB 字节

许多涉及内存操作数的指令都有一个紧挨着主操作码的寻址格式说明字节(叫做ModR/M字节),ModR/M字节包含3个域信息:

?mod域与r/m域组成32个可能的值:8个寄存器和24个寻址模式.

?reg/opcode域确定寄存器号或者附加的3位操作码.reg/opcode域的用途由主操作码确定.

?r/m域确定一个寄存器为操作数或者和mod域一起编码寻址模式.有时候有些指令使用特定的mod域和r/m域组合来表示操作码信息.

某些ModR/M字节编码需要第二寻址字节(SIB).基址+索引或者比例+索引形式的32位寻址需要SIB字节.SIB字节包括下列域:

?scale 域指定比例因子.

?index域指定索引寄存器号.

?base 域指定基址寄存器号.

ModR/M和SIB编码详见第2.1.5节.

2.1.4 偏移量和立即数字节

某些地址构成包含ModR/M以及紧随ModR/M其后的偏移量(或者是SIB字节).如果需要偏移量,它可以是1,2,或者4字节.

若指令指定一个立即操作数,该操作数总是在偏移量之后,立即操作数可以为1,2,4字节. 2.1.5 ModR/M和SIB字节寻址模式编码

表2-1至表2-3列出了ModR/M和SIB字节和寻址模式的对应情况:表2-1列出的是16位地址模式的情形,而表2-2则是32位的情况,表2-3则是由SIB字节指定的32位地址的情况.在附录B中列出了当ModR/M的reg/opcode域表现为操作码扩展时的编码情况.

在表2-1和2-2中,指定了由Mod域和R/M域组合的32种有效地址形式,其中前24个是内存操作数,后8个(mod=11B)是供通用寄存器,MMX以及XMM寄存器使用.

2-4 Vol. 2A

指令格式

表2-1和2-2中的Mod和R/M列给出了第一列对应有效地址时Mod和R/M的值.例

如:Mod=11B,R/M=000B,该行确定通用寄存器EAX,AX或AL,MMX寄存器MM0,或者XMM寄存器XMM0.最终使用的寄存器由操作码字节以及操作数尺寸属性决定.

现在看看表2-1或2-2的第7行(―REG=‖),当需要指定第二操作数时,该行指定Reg/Opcode 域的用途,该操作数必须为通用寄存器或者MMX,XMM寄存器,第一至五行为对应的寄存器,同样的,最终使用的寄存器由操作码字节以及操作数尺寸属性决定.

若指令不需要第二操作数,Reg/Opcode可能被用作操作码扩展,即第六

行‖/digit(Opcode)‖所指,以十进制数的形式表示.

表2-1和2-2的主体(即‖ ModR/M值 (十六进制)‖)是一个32*8的矩阵,囊括了ModR/M的256个可能值.由位3-5索引列,位0-2和6,7索引列.下图演示了表中的一个值的解析.

图 2-2. ModR/M (C8H) 值的解析

Vol. 2A 2-5

指令格式

注:

1. BP作为索引默认以SS为段寄存器,其他的寻址方式默认以DS段寄存器.

2. “disp16”记号表示ModR/M 后跟随一个16位的偏移量,该偏移量被加至有效地址.

3. “disp8”记号表示ModR/M 后跟随一个8位的偏移量,该偏移量将被符号扩展,然后被加至有效地

址.

2-6 Vol. 2A

指令格式

注:

1. “[--][--]”记号表示ModR/M 后跟随有一个SIB字节.

2. “disp32”记号表示ModR/M(或者SIB,如果出现的话) 后跟随一个32位的偏移量,该偏移量被加至有效地址.

3. “disp8”记号表示ModR/M(或者SIB,如果出现的话) 后跟随一个8位的偏移量,该偏移量将被符

号扩展,然后被加至有效地址.

表2-3囊括了SIB 的256个可能值(十六进制形式) . 可以作为基的通用寄存器通过表的上部列出,也列出了相应的base域值. 表的主体的每行列出了索引(index SIB的3,4,5位)对应的寄存

器及倍率因子(scaling factor SIBbyte的6,7位).

Vol. 2A 2-7

指令格式

注:

1. “[*]”记号表示:若MOD = 00B表示没有基,且带有一个32位的偏移量;否则表示disp8或disp32 +

[EBP].即提供如下的寻址方式:

MOD 有效地址

00 [scaled index] + disp32

01 [scaled index] + disp8 + [EBP]

10 [scaled index] + disp32 + [EBP]

2-8 Vol. 2A

指令格式

2.2 IA-32E 模式

IA-32e模式有两个子模式:

?兼容模式.使64位操作系统能够不经修改运行遗留的保护模式代码.

?64位模式.使64位操作系统能够运行应用程序存取64位地址空间.

2.2.1 REX 前缀

REX前缀用于64位模式,它能够:

?指定GPR(通用寄存器)和SSE寄存器.

?指定64位操作数尺寸.

?指定扩展的控制寄存器.

在64位环境中并非所有的指令都需要REX前缀,它仅在指令使用扩展寄存器或64位操作数时

发挥作用.当它的使用没有意义时,将被忽略.

每条指令最多能有一个REX前缀.如果REX前缀被使用,那么它必须位于操作码或转义码之前.

如果REX前缀和包含强制性前缀的指令配合使用,该强制性前缀必须位于REX前缀之前,这样REX前缀就紧靠操作码或转义码之前.例如 CVTDQ2PD带有一个REX前缀,该前缀必须位于

F3和0FE6之间.将REX前缀放置在其他的地方将被忽略.指令的最大长度为15字节的规律对

于使用REX前缀的指令也是同样适用的.如图2-3所示.

图 2-3. 64-bit 模式的前缀顺序

Vol. 2A 2-9

指令格式

2.2.1.1 编码

Intel 64 和 IA-32 指令格式可以通过编码中的3位域指定最多3个寄存器:

?ModR/M: reg 和 r/m 域

?带SIB 的ModR/M: ModR/M 的reg 域 SIB 的 base 和 index 域

?指令不包含 ModR/M: 操作码的reg域

64位模式下,这些格式未被改变. REX前缀新增了一些位定义了一些新的域.

2.2.1.2 REX 前缀的域

REX前缀包含操作码表中从40H至4FH共16个,占操作码表的一行.这些字节在32位和兼容模式下表现位合法的指令(INC 或 DEC);而在64-bit模式下,这些字节表现为REX前缀,而不再是单个的指令.

64位模式下没有单字节的INC/DEC指令,但是可以通过操作码FF/0和FF/1即带ModR/M字节的方式使用INC和DEC指令.

表2-4是对REX前缀格式的一个总结,图2-4至图2-7例举了REX前缀被使用的情况. 某些RE X域的组合是非法的,将被处理器忽略.下面是一些额外的信息:

?设置REX.W可以决定操作数尺寸,但这并不是决定操作数尺寸的唯一因素.和66H前缀一样,64位操作数尺寸重载不会对字节单位操作产生影响.

?对于非字节单位操作:若66H前缀和REX前缀配合使用(REX.W=1),此时66H前缀将被忽略. ?66H 前缀和REX一起使用且 REX.W = 0, 操作数尺寸为 16 位.

?当ModR/M的reg域编码GPR, SSE, 控制或调试寄存器时, REX.R修饰该域.当ModR/M指定另外的寄存器或者reg/opcode域被用于操作码扩展时,REX.R将被忽略.

?REX.X修饰 SIB 的 index 域.

?REX.B either modifies the base in the ModR/M r/m field or SIB base field; or it modifies the opcode reg field used for accessing GPRs.

2-10 Vol. 2A

指令格式

图 2-4. 不带SIB 字节的内存寻址; REX.X 未被使用

图 2-5. 寄存器-寄存器寻址(没有内存操作数); REX.X 未被使用

Vol. 2A 2-11

指令格式

图 2-6. 带SIB 的内存寻址

图 2-7. 操作码中编码进村其操作数; REX.X 和 REX.R 未被使用

对于IA-32架构,字节寄存器(AH, AL, BH, BL, CH, CL, DH, 和 DL) 通过0-7被编码于ModR/M 的 reg 域, r/m 域或者操作码的 reg域. REX通过额外的寻址字节寄存器, 使各GPR的最低有效字

节可用.

特定的ModR/M和SIB的组合译为着特殊的寄存器编码.对于某些组合,被REX扩展的域并未被解码. 表 2-5 描述了各种情形的表现情况.

2-12 Vol. 2A

指令格式

表 2-5. REX编码的特殊情况

* 不需要关心REX.B

2.2.1.3 偏移量

64为寻址任然使用32位模式的ModR/M和SIB编码. 并且 ModR/M 和 SIB 以及偏移量的尺寸都未变化. 它们仍然是8位或32位,并且被符号扩展为64位.

2.2.1.4 直接内存地址 MOVs

64位模式下, 直接内存地址MOV指令需要使用64位立即绝对地址. 该地址即直接内存地址, 不需要使用前缀指定该64位内存地址. 对于这些MOV指令, 该内存地址为默认地址尺寸(64位模式为64位). 请查看表 2-6.

Vol. 2A 2-13

指令格式

2.2.1.5 立即数

64位模式下,立即操作数的典型尺寸仍然是32位.当操作数尺寸为64位时,处理器在使用之前将所有的立即数符号扩展为64位.

64位立即操作数是通过扩展已经存在的move指令(MOV reg, imm16/32)实现的. 这些指令(操作码为B8H – BFH)传输16位或32位立即数(依据有效的操作数尺寸)至GPR. 当有效的操作数尺寸为64位时, 这些指令可以将一个立即数加载至GPR.使用REX前缀重载32位默认操作数尺寸为64位.

例如:

48 B8 8877665544332211 MOV RAX,1122334455667788H

2.2.1.6 RIP相对寻址

64位模式实现了一种新的寻址方式??RIP相对寻址(relative instruction-pointer). 有效地址由将偏移量加至下一指令的64位RIP形成.

对于IA-32和兼容模式,指令指针的相对寻址仅对控制转移类指令可用. 而对于64位模式,任何使用ModR/M寻址的指令均可使用RIP相对寻址. 若未使用RIP相对寻址, 所有的ModR/M指令寻址均为相对于0的偏移量.

RIP相对寻址允许特定的ModR/M模式使用一个有符号的32位的相对于64位RIP的偏移量来寻址内存. 这样该偏移的范围即±2GB. 表2-7列出了用于RIP相对寻址的ModR/M和SIB编码情况. Redundant forms of 32-bit displacement-addressing exist in the current ModR/M and SIB encodings. There is one ModR/M encoding and there are several SIB encodings. RIP-relative addressing is encoded using a redundant form.

在64位模式中,ModR/M Disp32(32位偏移)编码被重定义为RIP+Disp32,而不再是仅有偏移量.请查看表2-7.

2-14 Vol. 2A

指令格式

RIP相对寻址的ModR/M编码并不依赖于使用前缀. 具体的说, r/m域为101B(选择使用RIP相对寻址)不受REX前缀的影响. 例如,mod=00B,选择R13(REX.B = 1, r/m = 101B)仍然选择RIP相对寻址. 由REX.B和ModR/M组合的4比特并没有被完全解码. 为了寻址R13且不带偏移量,

程序必须编码R13+0,使用1字节的偏移量0.

RIP相对寻址由64位模式,而不是64位地址尺寸启用. 使用地址尺寸前缀并不能禁用RIP相对寻址. 地址尺寸前缀仅仅起着截断和零扩展有效地址为32位.

2.2.1.7 64位默认操作数尺寸

在64位模式中有两组指令使用64位默认操作数(不需要REX前缀),它们是:

?短跳转指令

?所有依赖rsp寻址的指令,远跳转指令除外

2.2.2 控制和调试寄存器编码

64位环境下允许编码更多的控制和调试寄存器. 当ModR/M 的reg域需要编码控制或调试寄存

器时, REX.B 被用于修饰该 reg 域(请查看表2-4). 这样处理器就能寻址CR8-CR15 以及

DR8- DR15等寄存器.64位环境定义了一个新增的控制寄存器(CR8),CR8被用作任务优先级寄存器 (TPR).

在IA-32e模式的最先实现并没有实现 CR9-CR15 和 DR8-DR15 等寄存器. 任何试图存取未被实现的寄存器都将导致一个无效指令异常 (#UD).

Vol. 2A 2-15

指令格式

: 用于任意分支指令时保留的原因是:分支指令都会改变eip,eip总是应当以CS为段寄存器的,故不能改变默认的CS段.

2-16 Vol. 2A

HC-05AT命令详解

HC-05 蓝牙串口主从一体AT命令详解 要使用AT命令,首先要知道HC-05的波特率,然后要进入AT命令模式。 使用串口一定要知道三要素,一是波特率,二是串口号,三是数据格式, HC-05只支持一种数据格式:数据位8 位,停止位1 位,无校验位,无流控制.后面对数据格式不对描述。 进入AT命令有二种方法: 1,按住按键或EN脚拉高,此时灯是慢闪,SPP-05进入AT命令模式,默认波特率是38400;此模式我们叫原始模式。原始模式下一直处于AT命令模式状态。 2,HC-05上电开机,红灯快闪,按住按键或EN拉高,HC-05进入AT命令模式,默认波特率是9600;此模式我们叫正常模式。正常模式下只有按住按键或拉高EN才处于AT命令模式状态。 注意:如果波特率没有设备正确,AT命令是执行无效的。 可以使用我们专用配置的测试软件,直观简单。如果下图。 后面的AT命令都是以此软件为基础做说明,如果客户需要使用其它串口软件,自行去学习。 一,如何让AT命令可以执行 A:看上图,正确的串口号要打开, ,点搜索端口,软件会依次打开电脑上的端口.

B:在波特率要选择正确,原始模式是38400和正常模式是9600。 C:AT命令后面需要换行,然后点发送命令才有效,如果没有换行,发送命令,软件只会把它们当作是字符。参考上图,AT命令下一行有光标符号。 二,介绍了基本操作方法,下面我们正式开始AT命令的详细说明 1,A T+ROLE设置主从模式: AT+ROLE?是查询主从状态;AT+ROLE=1是设成主,AT+ROLE=0是设成从,AT+ROLE=2设成回环角色(Slave-Loop(回环角色)——被动连接,接收远程蓝牙主设备数据并将数据原样返回给远程蓝牙)。 2,A T+RESET:HC-05复位 3,A T+VERSION?:获取HC-05的软件版本号,只能获取,不能修改。 4,A T+ORGL:恢复出厂默认设置,当把模块设置乱了,使用此命令进行恢复默认值。5,A T+ADDR?:获取HC-05的蓝牙地址码,只能获取,不能修改。 6,A T+NAME?:获取HC-05的名字,AT+NAME=BSP-06,修改模块的名字为BSP-06,具体名字自行修改。 7,A T+CLASS?:设置查询设备的类型,尽量不要去修改此参数。默认是1F00。 8,A T+IAC?:查询设置查询访问码,默认是9E8B33,尽量不要去修改此参数。 9,A T+PSWD?:查询设置配对密码,AT+PSWD=”0000”,密码要有双引号,密码是四位数字. 10,AT+UART:AT+UART?是查询当前模块的波特率,AT+UART=波特率是设置. 11,AT+CMODE:AT+CMODE?是查询当前连接模式。AT+CMODE=0,1,2(0——指定蓝牙地址连接模式(指定蓝牙地址由绑定指令设置)1——任意蓝牙地址连接模式(不受绑定指令设置地址的约束)2——回环角色(Slave-Loop)默认连接模式: 0)。 12,AT+BIND:AT+BIND?查询当前绑定地址,AT+BIND=NAP,UAP,LAP(用逗号隔开)。13,AT+RMADD:从蓝牙配对列表中删除所有认证设备. 14,AT+STATE?:获取蓝牙模块工作状态. 15,AT+LINK=NAP,UAP,LAP:与远程设备建立连接。 16,AT+DISC:断开连接. 17,AT+RNAME?NAP,UAP,LAP:获取远程蓝牙设备名称. 18,AT+ADCN?:获取蓝牙配对列表中认证设备数。 19,AT+MRAD?获取最近使用过的蓝牙认证设备地址。 20,AT+INQM:设置查询模式,AT+INQM=1,9,48(1-带RSSI信号强度指示,9-超过9个蓝牙设备响应则终止查询,48-设定超时为48*1.28=61.44秒)

CFLAGS 详解

CFLAGS 详解 CFLAGS 是决定Gentoo 系统效能与稳定的关键之一。恰当的CFLAGS 能在效能、编译时间、与系统稳定度中取得平衡,失败的CFLAGS 可能导致编译失败,甚至系统损毁。那么,在茫茫CFLAGS 海中,如何才能捞到命中注定那根针呢? 此文件的CFLAGS 针对x86 与x86-64 平台上的GCC 3.4 (GNU Compiler Collections - https://www.wendangku.net/doc/e16204043.html,/) 为主,若您使用其它编译器(如icc、compaq c compiler) 或其它平台(如PowerPC、Alpha),本章可能50% 以上的东西您都用不上。 各位请先参考笔者从网络上整理出,有关服务器与工作站需求的信息。当然,服务器或桌面的需求绝对不只这些,这里仅列出跟设计CFLAGS 比较有关的项目。 以下是整理出的列表: 1. 服务器系统: 长时间启动(一天24 小时,一年365 天,全年无休) 非常稳定(uptime 在99.999% [注] 以上) 高安全性(别怀疑,CFLAGS 跟安全性也有很大的关系) 在长时间启动的前提下,能自己照顾自己。 效能不是第一考虑 互动反应不用很快,够用就好。 2. 桌面、工作站: 启动时间没有那么长(使用者要用的时候才开机) 可以不用那么稳定(多半有使用者直接在处理,uptime 可以降到99.99% 或更低) 效能也是考虑重点 互动反应快(如加载一页网页,与其让他在三秒时整面显示出来,不如让它每秒显示一点可是在四秒时才全部显示完毕。) 所以,得到了桌面系统的CFLAGS 设计要点: 1. 程序启动时间短 2. 反应速度快 3. 效能高 4. 稳定可以稍差(容许范围内) 减少执行档的大小,可以同时减少了内存用量,也节省了一些磁盘空间。同时,桌面系统最大的效能瓶颈就在磁盘驱动器,减少档案大小也间接降低了磁盘的存取次数,可以加速程序的启动,提升第一次执行的反应速度。

A1841串口AT通信协议1.0

串口通信协议 1 概述 A1841模块提供AT指令接口,通过这些AT指令可以方便地跟模块进行通信和控制。模块提供的AT指令集涵盖了所有对该模块的查询和控制命令,厂家在使用时可根据自身需求,进行挑选使用。 1.1 AT指令类型 因为AT指令是作为一个接口标准,所以它的指令返回值和格式都是固定的,总体上说AT指令有四种形式: 1、无参数指令:一种简洁的指令,格式是:AT+,如: AT+DMOCONNECT 2、带参数指令:比较常用的一种格式,它为指令提供了强大的灵活性,格式是: AT+=,,… 这种指令的返回值根据不同的指令是一样的,这在后面的指令详解中将具体给出,但是返回值的基本框架格式为: <回应字串> 回车,0x0D 换行,0x0A。 1.2 AT指令格式 以下给出了支持的AT指令和返回说明: AT指令格式: AT指令都以”AT”开头,以结束。模块运行后,串口默认的设置为:8位数据位、1位停止位、无奇偶校验位、硬件流控制(CTS/RTS),速率9600 AT指令返回格式: <跟AT指令相关的字符串> 注,输入AT指令,无回显输出。 2 接口通信命令格式 2.1.1 帧格式定义 通信协议采用AT指令的方式进行通信。(注,全部传输为ASCII码传输) 终端对模块通讯采用形式为:AT+DMOXXX 模块对终端通讯采用形式为:+DMOXXX (终端不用返回)

2.2 命令交互流程 2.2.1 AT+DMOCONNECT握手信令 描述 握手信令旨在证明模块运作正常,终端每发送一次,模块在收到此信令后回复应答信令;如3次握手信令没有收到模块应答,则终端重启 模块。 格式 AT+DMOCONNECT 示例 AT+DMOCONNECT +DMOCONNECT:0 参数说明 2.2.2 +DMOCONNECT 握手应答信令 描述 模块握手应答信令,模块必须在收到DMOCONNECT信令后,第一时间应答。 格式 +DMOCONNECT:0 示例 +DMOCONNECT:0 参数说明 0 正常工作状态 2.2.3 AT+DMOSETGROUP设置组命令 描述 此命令是告诉模块工作参数的设置信息 。 格式 AT+DMOSETGROUP=GBW,TFV,RFV,CXCSS,SQ 示例 AT+DMOSETGROUP=0,415.1250,415.1250,12,4+DMOSETGROUP:0 参数说明 GBW:带宽设置。 0: 12.5K 1: 25K TFV:发射频率值。(400.0000M-470.0000M)(需要为12.5K和25K的整数倍) RFV:接收频率值。(400.0000M-470.0000M) CXCSS :CTCSS值。(00-38) 注:发射频率和接收频率可以为同一频率也可以为不同频率,但共用同一个CTCSS 00:无编码 01-38:CTCSS SQ:静噪级别(0-8) 0:监听模式,(注:扫描模式不能使用0)

AB_PID指令的使用及指令详解

AB_PID指令的使用及指令详解 PID 比例、积分、微分指令,是一条输入指令。 其操作数包括: PID PID结构体; Process Variable 过程量,即需要控制的量; PV Data Type 过程量数据类型; Control Variable 控制变量,即用户控制设备的最终值(如;阀,气阀),用死区控制 时,则控制变量的数据应为REAL;否则误差在死区时,该点强制为0; CV Data Type 控制变量的数据类型; PID Master Loop PID主回路; Inhold bit 初始化保持位; Inhold value 初始化保持数据; Setpoint 设定点(只用于显示当前设定值); Process Variable 过程变量(只用于显示整定的过程变量的当前值); Output % 显示输出百分率的当前值。 PID结构体,每条PID指令对应一条唯一的PID结构体。其助记符包括: 助记符类型说明.CTL DINT .CTL的各部分存储下列状态于一个16位字节内。户可以置位或清零下列位 位数据类型 .EN 31 BOOL 使能指令,输入梯级调节,为真则置位 .CT 30 BOOL 级联类型(0=从,1=主).CL 29 BOOL 级联回路(0=否,1=是).PVT 28 BOOL 跟踪过程变量(0=否,1=是) .DOE 27 BOOL ...的微分(0=PV,1=偏差) .SWM 26 BOOL 软件手动模式(0=否,自动;1=是手动模式) .CA 25 BOOL 控制作用(0=SP-PV,1=PV-SP)

.MO 24 BOOL 工作模式(0=自动,1=手动) .PE 23 BOOL PID方程(0=独立,1=相关) .NDF 22 BOOL 微分平滑处理(0=否,1=是) .NOBC 21 BOOL 反相偏滞计算(0=否,1=是) .NOZC 20 BOOL 过零死区计算(0=否,1=是) .SP REAL 设定点 .KP REAL 独立比例增量(无量纲),相关控制器增量(无量纲) .KI REAL 独立积分增量(1/秒),相关积分时间(分钟每循环) .KD REAL 独立微分增量(1/秒),相关微分时间(分钟每循环) .BIAS REAL 前馈或偏滞百分比 .MAXS REAL 最大工程单位定标值 .MINS REAL 最小工程单位定标值 .DB REAL 死区工程单位 .SO REAL 设置输出百分比 .MAXO REAL 最大输出限幅(输出百分比).MINO REAL 最小输出限幅(输出百分比).UPD REAL 回路更新时间 .PV REAL 已标定的过程变量PV 值 .ERR REAL 已标定的误差值 .OUT REAL 输出百分比 .PVH REAL 过程变量上限报警值 .PVL REAL 过程变量下限报警值 .DVP REAL 正偏移报警值 .DVN REAL 负偏移报警值 .PVDB REAL 过程变量报警死区 .DVDB REAL 偏移报警死区 .MAXI REAL 最大过程变量PV值(未标定的输入) .MINI REAL 最小过程变量PV值(未标定的输入) .TIE REAL 手动控制的牵引信号 .MAXCV REAL 最大控制变量CV值(对应于100%) .MINCV REAL 最小控制变量CV值(对应于0%) .MINTIE REAL 最小牵引TIE值(对应于100%).MAXTIE REAL 最大牵引TIE值(对应于0%)

AT指令大全详解完整版

AT指令大全详解完整版 一、一般命令 1、AT+CGMI 给出模块厂商的标识。 2、AT+CGMM 获得模块标识。这个命令用来得到支持的频带(GSM 900,DCS 1800 或 PCS 1900)。当模块有多频带时,回应可能是不同频带的结合。 3、AT+CGMR 获得改订的软件版本。 4、AT+CGSN 获得GSM模块的IMEI(国际移动设备标识)序列号。 5、AT+CSCS 选择TE特征设定。这个命令报告TE用的是哪个状态设定上的ME。ME于 是可以转换每一个输入的或显示的字母。这个是用来发送、读取或者撰写短信。6、AT+WPCS 设定电话簿状态。这个特殊的命令报告通过TE电话簿所用的状态的ME。 ME于是可以转换每一个输入的或者显示的字符串字母。这个用来读或者写电话簿的入口。 7、AT+CIMI 获得IMSI。这命令用来读取或者识别SIM卡的IMSI(国际移动签署者标识)。 在读取IMSI之前应该先输入PIN(如果需要PIN的话)。 8、AT+CCID 获得SIM卡的标识。这个命令使模块读取SIM卡上的EF-CCID文件。 9、AT+GCAP 获得能力表。(支持的功能) 10、A/ 重复上次命令。只有A/命令不能重复。这命令重复前一个执行的命令。 11、AT+CPOF 关机。这个特殊的命令停止GSM软件堆栈和硬件层。命令AT+CFUN=0的 功能与+CPOF相同。 12、AT+CFUN 设定电话机能。这个命令选择移动站点的机能水平。 13、AT+CPAS 返回移动设备的活动状态。 14、AT+CMEE 报告移动设备的错误。这个命令决定允许或不允许用结果码“+CME ERROR:”或者“+CMS ERROR:”代替简单的“ERROR”。 15、AT+CKPD 小键盘控制。仿真ME小键盘执行命令。 16、AT+CCLK 时钟管理。这个命令用来设置或者获得ME真实时钟的当前日期和时间。 17、AT+CALA 警报管理。这个命令用来设定在ME中的警报日期/时间。(闹铃) 18、AT+CRMP 铃声旋律播放。这个命令在模块的蜂鸣器上播放一段旋律。有两种旋律 可用:到来语音、数据或传真呼叫旋律和到来短信声音。 19、AT+CRSL 设定或获得到来的电话铃声的声音级别。 二、呼叫控制命令 1、ATD 拨号命令。这个命令用来设置通话、数据或传真呼叫。 2、ATH 挂机命令。 3、ATA 接电话。 4、AT+CEER 扩展错误报告。这个命令给出当上一次通话设置失败后中断通话的原因。 5、AT+VTD 给用户提供应用GSM网络发送DTMF(双音多频)双音频。这个命令用来 定义双音频的长度(默认值是300毫秒)。 6、AT+VTS 给用户提供应用GSM网络发送DTMF双音频。这个命令允许传送双音频。 7、ATDL 重拨上次电话号码。

AT指令大全详解完整版

AT指令大全详解完整版.txt10有了执著,生命旅程上的寂寞可以铺成一片蓝天;有了执著,孤单可以演绎成一排鸿雁;有了执著,欢乐可以绽放成满圆的鲜花。一、 一般命令 1、 AT+CGMI 给出模块厂商的标识。 2、 AT+CGMM 获得模块标识。这个命令用来得到支持的频带(GSM 900,DCS 1800 或PCS 1900)。当模块有多频带时,回应可能是不同频带的结合。 3、 AT+CGMR 获得改订的软件版本。 4、 AT+CGSN 获得GSM模块的IMEI(国际移动设备标识)序列号。 5、 AT+CSCS 选择TE特征设定。这个命令报告TE用的是哪个状态设定上的ME。ME于 是可以转换每一个输入的或显示的字母。这个是用来发送、读取或者撰写短信。 6、 AT+WPCS 设定电话簿状态。这个特殊的命令报告通过TE电话簿所用的状态的 ME。ME于是可以转换每一个输入的或者显示的字符串字母。这个用来读或者写电话簿的入 口。 7、 AT+CIMI 获得IMSI。这命令用来读取或者识别SIM卡的IMSI(国际移动签署者标 识)。在读取IMSI之前应该先输入PIN(如果需要PIN的话)。 8、 AT+CCID 获得SIM卡的标识。这个命令使模块读取SIM卡上的EF-CCID文件。 9、 AT+GCAP 获得能力表。(支持的功能) 10、 A/ 重复上次命令。只有A/命令不能重复。这命令重复前一个执行的命令。 11、 AT+CPOF 关机。这个特殊的命令停止GSM软件堆栈和硬件层。命令AT+CFUN=0的 功能与+CPOF相同。 12、 AT+CFUN 设定电话机能。这个命令选择移动站点的机能水平。 13、 AT+CPAS 返回移动设备的活动状态。 14、 AT+CMEE 报告移动设备的错误。这个命令决定允许或不允许用结果码“+CME ERROR:”或者“+CMS ERROR:”代替简单的“ERROR”。 15、 AT+CKPD 小键盘控制。仿真ME小键盘执行命令。 16、 AT+CCLK 时钟管理。这个命令用来设置或者获得ME真实时钟的当前日期和时

有方GPRS模块内部协议栈相关AT指令详解v1.1

深圳市有方科技有限公司 深圳市有方科技有限公司 (技术文档) 有方科技GPRS模块 内部协议栈相关AT指令详解 V1.1

目 录 一、建立PPP连接 (4) 二、采用TCP连接发送数据 (4) 1、建立TCP连接 (4) 2、发送TCP数据。 (5) 3、查询TCP/UDP链路状态 (6) 4、接收到TCP数据 (7) 5、关闭TCP连接 (7) 三、采用UDP连接发送数据 (8) 1、建立UDP连接 (8) 2、发送UDP数据。 (8) 3、接收到UDP数据 (9) 4、关闭UDP连接 (10) 四、设置协议栈类型(外部,内部) (10) 五、DNS(域名解析)指令 (11) 六、AT指令流程举例(建立TCP连接) (12) 附录:有方科技GPRS模块 (13)

修订记录 版本号 更改内容 生效年月 V1.0 初始版本 200902 V1.1增加DNS指令 200903

有方科技GPRS模块M580-M590系列产品,目前内部协议栈仅支持同时创建2条链路,每条链路可以分别是TCP或者UDP。 AT指令详细描述如下,最后附有示例代码供参考。 一、建立PPP连接 描述建立PPP连接 格式z at+xiic=1 建立PPP连接。 z at+xiic? 查询PPP连接状态。 参数说明 NULL 返回值说明参见下例 AT+XIIC=1 OK 要求模块建立PPP连接。 at+XIIC? +XIIC: 1, 10.232.165.29 OK 查询PPP链路状态。PPP链路建立成功,IP地址是10.232.165.29。 示例 at+xiic? +XIIC: 0, 0.0.0.0 OK 查询PPP链路状态。PPP链路还未建立。 注意事项:1、在建立PPP链路之前,先要使用AT+CGDCONT设定APN等参数,对于中国移动的网络,可使用如下指令设定APN等参数: AT+CGDCONT=1,”IP”,”CMNET” 2、在使用AT+XIIC=1建立PPP连接之前,先要确保模块已经注册上网络。 可使用AT+CREG?来判断。如果模块返回+CREG:0,1;或者+CREG:0,5,都 表明已注册网络。 二、采用TCP连接发送数据 1、建立TCP连接 描述建立TCP连接 格式 at+tcpsetup=,,

AT+CNMI指令详解

AT+CNMI指令详解 2011-01-05 08:58 GSM Modem一般都支持一条“AT+CNMI”指令,用于设定当有某类短消息到达时,如何处理它——只储存在制定的内存(易失的/非易失的)中;先储存后通知TE;直接转发到TE,等等。 AT+CNMI指令语法为: AT+CNMI=<mode>,<mt>,<bm>,<ds>,<bfr> <mode>控制通知TE的方式。 0——先将通知缓存起来,再按照<mt>的值进行发送。 1——在数据线空闲的情况下,通知TE,否则,不通知TE。 2——数据线空闲时,直接通知TE;否则先将通知缓存起来,待数据线空闲时再行发送。 3——直接通知TE。在数据线被占用的情况下,通知TE的消息将混合在数据中一起传输。 <mt>设置短消息存储和通知TE的内容。 0——接受的短消息存储到默认的内存位置(包括class 3),不通知TE。 1——接收的短消息储存到默认的内存位置,并且向TE发出通知(包括class 3)。通知的形式为: +CMTI:”SM”,<index> 2——对于class 2短消息,储存到SIM卡,并且向TE发出通知;对于其他class,直接将短消息转发到TE: +CMT:[<alpha>],<length><CR><LF><pdu>(PDU模式) 或者+CMT:<oa>,[<alpha>,]<scts>[,<tooa>,<fo>,<pid>,<dcs>,<sca>,<tosca>,<length>]<CR><LF><data>(text模式) 3——对于class 3短消息,直接转发到TE,同<mt>=2;对于其他class,同<mt>=1。 <bm>设置小区广播 0——小区广播不通知 2——新的小区广播通知,返回 +CBM:;length;;CR;;LF;;pdu;

UNIX命令大全详解-完整版

UNIX命令大全详解-完整版.txt爱尔兰﹌一个不离婚的国家,一个一百年的约定。难过了,不要告诉别人,因为别人不在乎。★真话假话都要猜,这就是现在的社会。 vi全屏幕编辑器 vi(Visual)是以视觉为导向的全屏幕编辑器、共分为三种方式(mode): command方式: 任何输入都会作为编辑命令,而不会出现在屏幕上,若输入错误则有“岬”的声音;任何输入都引起立即反映 insert方式: 任何输入的数据都置于编辑寄存器。在command方式下输入(I,a,A等),可进入insert方式,insert方式下按ESC,可跳回command方式。 escape方式: 以“:”或者“/”为前导的指令,出现在屏幕的最下一行,任何输入都被当成特别指令。 进入vi(在系统提示符下面输入以下指令): vi 进入vi而不读入任何文件 vi filename 进入vi并读入指定名称的文件(新、旧文件均可)。 vi +n filename 进入vi并且由文件的第几行开始。 vi +filename 进入vi并且由文件的最后一行开始。 vi + /word filename 进入vi并且由文件的word这个字开始。 vi filename(s) 进入vi并且将各指定文件列入名单内,第一个文件先读入。 vedit 进入vi并且在输入方式时会在状态行显示“INSERT MODE"。 编辑数个文件(利用vi filename(s))进入vi后) :args 显示编辑名单中的各个文件名 :n 读入编辑名单中的下一个文件 :rew 读入编辑名单中的第一个文件

:e# 读入编辑名单内的前一个文件 :e file 读入另一个文件进vi(此文件可不在编辑名单内),若原文件经修改还没有存档,则应先以: w 存档。 :e! file 强迫读入另一个文件进入vi,原文件不作存档动作。 存储及退出vi :w filename 存入指定文件,但未退出vi(若未指定文件名则为当前工作的文件名)。 :wq 或者 :x或者zz 存文件,并且退出vi. :q 不作任何修改并退出vi。 :q! 放弃任何修改并退出vi。 :!command 暂时退出vi并执行shell指令,执行完毕后再回到vi。 :sh 暂时退出vi到系统下,结束时按Ctrl + d则回到vi。 加数据指令 i 在关标位置开始插入字符,结束时候按ESC键。 I 在光标所在行的最前面开始加字,结束时按ESC键。 a 在光标位置后开始加字,结束时按ESC键。 A 在光标所在行的最后面开始加字,结束时按ESC键。 o 在光标下加一空白行并开始加字,结束时按ESC键。 O 在光标上加一空白行并开始加字,结束时按ESC键。 !command 执行shell指令,并把结果加在光标所在行的下一行。 删除指令 nx 删除由光标位置起始的n个字符(含光标位置,按一个x表示删除光标所在的字符) nX 删除由光标位置起始的n个字符(不含光标位置)。 ndw 删除光标位置其实的n个字符组(word)。

AT指令中文全集解析

AT指令中文全集解析!!!! at远程连接时,有时输入无法看到,输入:ATE1 回车 调试串口波特率: 查看当前设备波特率:AT+IPR? 修改当前设备波特率:AT+IPR=(固定修改为9600) 保存当前修改参数:AT&W 查看当前设备接收信号:AT+CSQ 回车 拨号命令 ATD 拨打电话号码 挂机命令 ATH 挂机 发送短消息测试:AT+CMGF=1 回车 AT+CMGS=(手机号码)回车 输入内容快捷键“CTRL Z”发送 修改短信中心: 查看短信中心:AT+CSCA? 回车 修改短信中心:AT+CSCA=(短信中心号码)回车 显示手机卡是否安装正常(显示手机SIM卡号):AT+CCID 显示模块生产日期:AT+WDOP 显示模块厂家信息:AT+CGMI 或者 ATI3 模式认证请求,返回模块使用频率:AT+CGMM -- AT命令介绍 厂家认证 AT+CGMI 获得厂家的标识 模式认证 AT+CGMM 查询支持频段 修订认证 AT+CGMR 查询软件版本 生产序号 AT+CGSN 查询IMEI NO. TE设置 AT+CSCS 选择支持网络 查询IMSI AT+CIMI 查询国际移动电话支持认证

卡的认证 AT+CCID 查询SIM卡的序列号 功能列表 AT+GCAP 查询可供使用的功能列表 重复操作 A/ 重复最后一次操作 关闭电源 AT+CPOF 暂停模块软件运行 设置状态 AT+CFUN 设置模块软件的状态 活动状态 AT+CPAS 查询模块当前活动状态 报告错误 AT+CMEE 报告模块设备错误 键盘控制 AT+CKPD 用字符模拟键盘操作 拨号命令 ATD 拨打电话号码 挂机命令 ATH 挂机 回应呼叫 ATA 当模块被呼叫时回应呼叫 详细错误 AT+CEER 查询错误的详细原因 DTMF信号 AT+VTD,+VTS +VTD设置长度,+VTS发送信号 重复呼叫 ATDL 重复拨叫最后一次号码 自动拨号 AT%Dn 设备自动拨叫号码 自动接应 ATS0 模块自动接听呼叫 呼入载体 AT+CICB 查询呼入的模式,DATA or FAX or SPEECH 增益控制 AT+VGR,+VGT +VGR调整听筒增益,+VGT调整话筒增益静音控制 AT+CMUT 设置话筒静音 声道选择 AT+SPEAKER 选择不同声道(2对听筒和话筒) 回声取消 AT+ECHO 根据场所选择不同回声程度 单音修改 AT+SIDET 选择不同回声程度 初始声音参数 AT+VIP 恢复到厂家对声音参数的默认设置 信号质量 AT+CSQ 查询信号质量 网络选择 AT+COPS 设置选择网络方式(自动/手动) 网络注册 AT+CREG 当前网络注册情况 网络名称 AT+WOPN 查询当前使用网络提供者 网络列表 AT+CPOL 查询可供使用的网络

AT名词术语

名词术语 1、TE:Terminal Equipment,终端设备,与DTE等价。比如一个计算机。 2、TA:Terminal Adapter,终端适配器,与DCE等价。提供终端适配器的物理实体,是一种接口设备。 3、DCE:Data Circuit terminating Equipment,数据电路终接设备。一种接口设备,在线路之间进行代码或信号转换,同数据终端设备实现接口,能够建立、保持和释放数据终端设备与数据传输线之间的连接。 4、DTE:Data Terminal Equipment:数据终端设备。它具有向计算机输入和接受计算机输出的能力、与数据通信线路连接的通信控制能力以及一定的数据处理能力。 5、ME:Mobile Equipment,移动设备,比如GSM话机。移动台中的一种发射机或接收机或接收机和发射机二者的组合。 6、MS:Mobile Station:移动台。在移动通信业务中,可以在移动中使用的通信站。包括车(船)载台便携台和手持机。

什么是AT指令 AT即Attention。AT命令集是从TE(Terminal Equipment)或DTE(Data Terminal Equipment)向TA(Terminal Adapter)或DCE(Data Circuit Terminating Equipment)发送的。通过TA,TE发送AT命令来控制MS(Mobile Station)的功能,与GSM网络服务进行交互。 用户可以通过AT命令进行呼叫、短信、电话本、数据业务、补充业务、传真等方面的控制。 AT命令详解 一般命令 AT+CSCS:选择TE字符集 该命令通知ME选择字符集。ME可以对输入或显示的字符进行转化。此命令用于发送、读或写短消息。 AT+CSCS=“GSM”//GSM缺省字符集 OK //成功执行 AT+CSCS=“PCCP437”//PC字符集编码437 OK //成功执行

GSM模块AT指令手册

模块AT指令手册 版本 1.0

1.概述 1.1AT指令概述 1.1.1 AT指令类型 2.AT指令 2.1普通指令 2.1.1AT+CLIP设置来电显示 2.1.2A/重复上一条指令 2.1.3ATD拨电话 2.1.4ATDL重拨 2.1.5ATA接电话 2.1.6ATH挂电话 2.1.7ATE设置回电 2.1.8ATI提示模块生产厂家信息 2.1.9ATQ设置是否在终端回返回值 2.1.10+++从数据模式切换到命令模式 2.1.11ATO从命令模式切换到数据模式 2.1.12ATP使用脉冲拨号 2.1.13ATS0自动应答设置 2.1.14AT+CRC设置来电类型 2.1.15AT+CLVL受话音量 2.1.16AT+HSETMUTE静音控制 2.1.17AT+CIMI查询国际ID号 2.1.18AT+CGMR获取产品版本号 2.1.19AT+ECHO回音消除控制 2.1.20AT+(C)GSN获取当前IMEI号 2.1.21AT+HVERS获取当前软件版本号 2.1.22AT+CLCK功能锁定 2.1.23AT+CCFC呼叫转移号码和条件设置 2.1.24AT+CCW A呼叫等待控制 2.1.25AT+CHLD呼叫保持和多方会议 2.1.26*TSIMINS查询SIM卡状态 2.1.27AT+CPWD修改密码 2.1.28AT+CGMI查询模块厂家 2.1.29ATZ按存储的设置重置参数 2.2DTMF指令 2.2.1AT+VTD设置DTMF音持续时间 2.2.2AT+VTS发送DTMF音 2.3网络服务指令 2.4移动设备控制和状态报告 2.5消息服务指令 2.6电话本指令 2.7数据压缩指令 2.8GPRS指令 2.9TCP/IP指令

AT命令中文详解

AT指令(中文详解版)二 2010-03-25 17:20:59 分类:LINUX 常用AT 命令手册 1、常用操作 1.1 AT 命令解释:检测Module 与串口是否连通,能否接收AT 命令; 命令格式:AT 命令返回:OK (与串口通信正常) (无返回,与串口通信未连通) 测试结果:AT OK 1.2 AT+CSQ 命令解释:检查网络信号强度 命令格式:AT+CSQ 命令返回:+CSQ: **,## 其中**应在10 到31 之间,数值越大表明信号质量越好,##为误码 率,值在0 到99 之间。 否则应检查天线或SIM 卡是否正确安装 测试结果:AT+CSQ

+CSQ: 20,5 1.3 AT+CPIN? 命令解释:检查登入移动设备(ME)的密码. 命令格式:AT+CPIN? 命令返回:+CPIN: 状态 其中状态值可能是: READY(表示SIM卡正常,同时不需要登入密码), SIM PIN (表示ME等待提供SIM卡的PIN 码) SIM PUK (表示ME等待提供SIM卡的PUK码) SIM PIN2 (表示ME等待提供SIM 卡的PIN2 码) SIM PUK2 (表示ME等待提供SIM卡的PUK2 码) PH-SIM PIN (表示设备被锁SIM卡,ME等待提供从手机到SIM卡的密码) PH-NET PIN (表示设备被锁网络,ME等待提供提供网络个性化密码) ERROR (表示SIM卡失败或没有插入SIM卡) 测试结果:AT+CPIN? +CPIN: READY 表示SIM卡正常,同时不需要登入密码。 1.4 AT+COPS? 命令解释:查询运营商选择状态.

linux at命令使用案例

linux at命令使用案例 摘要:用户使用linux at命令在指定时刻执行指定的命令序列。也就是说,该命令至少需要指定一个命令、一个执行时间才能够正常运行 标签:linux at命令linux at命令详解使用案例 Oracle帮您准确洞察各个物流环节linux at命令 用户使用linux at命令在指定时刻执行指定的命令序列。也就是说,该命令至少需要指定一个命令、一个执行时间才能够正常运行。linux at命令能够只指定时间,也能够时间和日期一起指定。需要注意的是,指定时间有个系统判别问题。比如说:用户现在指定了一个执行时间:凌晨3:20,而发出linux at命令的时间是头天晚上的20:00,那么究竟是在哪一天执行该命令呢?假如用户在3:20以前仍然在工作,那么该命令将在这个时候完成;假如用户3:20以前就退出了工作状态,那么该命令将在第二天凌晨才得到执行。下面是linux at命令的语法格式: at [-V][-q 队列][-f 文档名][-mldbv]时间 at -c 作业[作业...] at允许使用一套相当复杂的指定时间的方法,实际上是将POSIX.2标准扩展了。他能够接受在当天的hh:mm(小时:分钟)式的时间指定。假如该时间已过去,那么就放在第二天执行。当然也能够使用midnight(深夜),noon(中午),teatime(饮茶时间,一般是下午4点)等比较模糊的 词语来指定时间。用户还能够采用12小时计时制,即在时间后面加上AM(上午)或PM (下午)来说明是上午还是下午。 也能够指定命令执行的具体日期,指定格式为month day(月日)或mm/dd/yy(月/日/年)或dd.mm.yy(日.月.年)。指定的日期必须跟在指定时间的后面。 上面介绍的都是绝对计时法,其实还能够使用相对计时法,这对于安排不久就要执行的命令是很有好处的。指定格式为:now + count time-units ,now就是当前时间,time-units 是时间单位,这里能够是minutes(分钟)、hours(小时)、days(天)、weeks(星期)。count 是时间的数量,究竟是几天,还是几小时,等等。 更有一种计时方法就是直接使用today(今天)、tomorrow(明天)来指定完成命令的时间。下面通过一些例子来说明具体用法。 [例2]指定在今天下午5:30执行某命令。假设现在时间是中午12:30,1999年2月24日,其命令格式如下: at 5:30pm

AT指令详解

AT 指令集详解(一) 1、AT 标准指令 使用方法:在通讯软件的命令方式下打入前置码 AT +??指令后回车,如回应 OK 则表示指令已正确执行,如回应 ERROR 则指令错误。 AT 每个指令的前置码 A 送出 ANSWER TONE A/ 重新执行上一指令,此指令无前置码 B B0 自动扫描速度及CCITT B1 自动扫描速度及BELL低速 B2 自动扫描速度 B3 只能连线在 CCITT V.23 B4 只能连线在 CCITT V.21 B5 只能连线在 CCITT V.22 B6 只能连线在 CCITT V.22bis B7 只能连线在 CCITT V.32 4800bps B8 只能连线在 CCITT V.32 9600bps B9 只能连线在 CCITT V.32bis B10 只能连线在 CCITT V.34 16800bps B11 只能连线在 CCITT V.34 19200bps B12 只能连线在 CCITT V.34 21600bps B13 只能连线在 CCITT V.34 24000bps B14 只能连线在 CCITT V.34 26400bps B15 只能连线在 CCITT V.34 28000bps D 拨号指令 DSn 选择拨出MODEM内存中第n组号码 E E0 不回应输入字元

E1 E1 回应输入字元 +++ 由资料模式跳回指令模式 H H0 MODEM执行ON HOOK H1 MODEM执行OFF HOOK I I0 显示产品号码 I1 显示CHECKSUM I2 内部储存器测试 I3 显示V.42bis版本 I4 显示产品编号及芯片种类 L L1 小音量 L2 中音量 L3 大音量 M M0 扬声器静音 M1 扬声器发声直到连线 M2 扬声器持续发声 M3 扬声器发声直到连线,拨号时静音 Sr 读出储存器r值(r=0-28) Sr=n 设定储存器r值为n (n=0-255) P 脉冲拨号 T 双音频拨号 Q Q0 执行指令回应讯息 Q1 执行指令不回应讯息 V V0 以数字方式回应讯息 V1 以文字方式回应讯息 X X0 和SMART MODEM300相容,连线谨出现CONNECT X1 连线后出现连线速率

esp8266 at指令集详解

esp8266 at指令集详解 常用的AT指令集ESP8266封装方式多样,天线可支持板载PCB天线,IPEX接口和邮票孔接口三种形式; ESP8266可广泛应用于智能电网、智能交通、智能家具、手持设备、工业控制等领域。 其实,这些都是浮云,最大的优点是它是一款非常廉价的WIFI串口解决方案模块,适合种学生开发者~ AT指令调试(初步开发)ESP8266本身就是一个mcu,所以它可以有两种用途: 1.当成一个普通的wifi模块,用官方集成的AT指令集进行开发; 2.当成一个集成了wifi功能的mcu,用安信可或其他平台提供的sdk进行深度开发。 由于由浅入深,今天先总结下常用AT指令的开发过程。 先连接好电路,注意将GPIO0脚悬空,用串口调试助手发送AT指令,默认波特率为115200,设置好之后才可以进行正常通讯。 下面我将列出常用的AT指令集:AT+GMR ----------- ------- 查看版本信息 AT+CWMODE=?---------- ---响应返回当前可支持哪些模式 AT+CWMODE=《mode》--- ---参数说明 《mode》 1 StaTIon 模式; 2 AP 模式; 3 AP 兼StaTIon 模式; AT+ CWJAP =《ssid》,《pwd 》----参数说明 《ssid》字符串参数,接入点名称 《pwd》字符串参数,密码最长64 字节ASCII AT+CIPSTART=?----------设置AT+CIPMUX=0 +CIPSTART: (《type》取值列表),(《IP address》范围),(《port》范围) AT+ CIPSERVER=《mode》,《port》--参数说明

AT指令响应

常见AT 指令响应 AT 指令响应及说明如表3.1~3.6所列。 表表3.1 AT 指令响应指令响应 AT 指令指令响应响应响应 说 明明 +CALA:

UNIX命令大全详解-完整版

UNIX命令大全详解-完整版.txt command方式: 任何输入都会作为编辑命令,而不会出现在屏幕上,若输入错误则有“岬”的声音;任何输 入都引起立即反映 insert方式: 任何输入的数据都置于编辑寄存器。在command方式下输入(I,a,A等),可进入insert方 式,insert方式下按ESC,可跳回command方式。 escape方式: 以“:”或者“/”为前导的指令,出现在屏幕的最下一行,任何输入都被当成特别指令。 进入vi(在系统提示符下面输入以下指令): vi 进入vi而不读入任何文件 vi filename 进入vi并读入指定名称的文件(新、旧文件均可)。 vi +n filename 进入vi并且由文件的第几行开始。 vi +filename 进入vi并且由文件的最后一行开始。 vi + /word filename 进入vi并且由文件的word这个字开始。 vi filename(s) 进入vi并且将各指定文件列入名单内,第一个文件先读入。 vedit 进入vi并且在输入方式时会在状态行显示“INSERT MODE"。 编辑数个文件(利用vi filename(s))进入vi后) :args 显示编辑名单中的各个文件名 :n 读入编辑名单中的下一个文件 :rew 读入编辑名单中的第一个文件 :e# 读入编辑名单内的前一个文件 :e file 读入另一个文件进vi(此文件可不在编辑名单内),若原文件经修改还没有存档, 则应先以: w 存档。

:e! file 强迫读入另一个文件进入vi,原文件不作存档动作。 存储及退出vi :w filename 存入指定文件,但未退出vi(若未指定文件名则为当前工作的文件名)。:wq 或者 :x或者zz 存文件,并且退出vi. :q 不作任何修改并退出vi。 :q! 放弃任何修改并退出vi。 :!command 暂时退出vi并执行shell指令,执行完毕后再回到vi。 :sh 暂时退出vi到系统下,结束时按Ctrl + d则回到vi。 加数据指令 i 在关标位置开始插入字符,结束时候按ESC键。 I 在光标所在行的最前面开始加字,结束时按ESC键。 a 在光标位置后开始加字,结束时按ESC键。 A 在光标所在行的最后面开始加字,结束时按ESC键。 o 在光标下加一空白行并开始加字,结束时按ESC键。 O 在光标上加一空白行并开始加字,结束时按ESC键。 !command 执行shell指令,并把结果加在光标所在行的下一行。 删除指令 nx 删除由光标位置起始的n个字符(含光标位置,按一个x表示删除光标所在的字符)nX 删除由光标位置起始的n个字符(不含光标位置)。 ndw 删除光标位置其实的n个字符组(word)。 d0 将行的开始到光标位置的字符全部删除。 d$或D 将光标位置起始到行尾的字符全部删除。 ndd 将光标位置起始的n行(整行)删除(dd表示删除光标所在行)。

相关文档