Modem编程相关知识

Modem 指令集
ats0=1 自动应答
A 送出ANSWER TONE
A/ 重新执行上一个指令。次指令不加前置码
AT 每个指令之前置码
B B0=自动扫描速度,及CCITT低速
B1=自动扫描速度,及BELL低速
D 拨号指令
DS 选择拨出 内存四组号码
E E0=不回应输入字节
E1=回应输入字节
+++ 由资料模式跳回指令模式
H H0=MODEM 执行 ON HOOK(一般状态)
H1=MODEM 执行 OFF HOOK
(举起电话动作)
I I0=显示产品号码
I1=显示CHECKSUM
I2=内部MEMORY测试
I3=显示DEVICE ID
I4=显示INTERNAL ID
L L1=小音量
L2=中音量
L3=大音量
M M0=喇叭静音
M1=喇叭发声至连线
M2=喇叭持续发声
M3=条件同M1,但拨号时为静音
Sr? 读出暂存器r之值(r=0~28)
Sr=n 设定暂存器r之值为n。(r=0~28,n=0~255)
P 脉冲拨号
T 音频拨号
Q Q0=执行指令。回应信息
Q1=执行指令。不回应信息
V V0=以数字形式。回应信息
V1=以文字形式。回应信息
X X0=和SMART MODEM 300 相容。连线仅出现
CONNECT
X1=连线后会出现连线速率。
X2=连线后会出现连线速率。
并监测DIAL TONE。
X3=连线后会出现连线速率。
并监测BUSY TONE。
X4=连线后会出现连线速率。
并监测DIAL TONE和BUSY TONE。
Y Y0=断线前。不送出BREAK信号
Y1=断线前。送出4秒BREAK信号
Z Z0=RESET 并重新使用第零组参数表。
Z1=RESET 并重新使用第壹组参数表。

MODEM 延伸指令:
指令 功 能
&C &C0=将DCD信号。一直认定为HIGH
&C1=依据远端送来CARRY信号。实际回应
&D &D0=MODEM忽略DTR信号。
&D1=当DTR信号变化。MODEM跳至指令模式。
&D2=当DTR信号变化。MODEM跳至指令模式。
并挂线。
&D3=当DTR信号变化。MODEM做RESET动作。
&F &F=设置V.42BIS模式的出厂设定值。并使用
RTS/CTS的流程控制。
&G &G0=不同GUARD TONE
&G1=550Hz GUARD TONE
&G2=1800Hz GUARD TONE 
&M &M0=非同步工作模式。
&O &O0=关闭Originate-only mode
&O1=设置Originate-only mode
&P &P0=OFF-HOOK/ON-HOOK比例
为39/61。(美制)
&P1=OFF-HOOK/ON-HOOK比例
为33/67。(英制,港制)
&S &S0=DSR信号,设置为ON。
&S1=DSR信号,依据RS-232规格。
&V 显示MODEM参数状态表
&W &W0=将目前所用参数,存放在参数表0。
&W1=将目前所用参数,存放在参数表1。
&Y &Y0=当POWER ON 时,取用参数表0的参数
&Y1=当POWER ON 时,取用参数表1的参数
&Z &Zn=设置各组电话号码
%C %C0=关闭MNP5,V.42BIS的资料压缩模式
%C1=启动MNP5,V.42BIS的资料压缩模式
%D %D0=关闭CLEAR-DOWN信号
%D1=开启CLEAR-DOWN信号
%E %E0=关闭V.22BIS AUTO-RETRAIN
%E1=开启V.22BIS AUTO-RETRAIN
A A0=MNP BLOCK容量。最大 64字节。
A1=MNP BLOCK容量。最大128字节。
A2=MNP BLOCK容量。最大192字节。
A3=MNP BLOCK容量。最大512字节。
%C %C0=关闭MNP CLASS5 资料压缩
%C1=开启MNP CLASS5 资料压缩
G G0=关闭DCE流程控制
G1=开启DCE流程控制
J J0=关闭串口至MODEM之间速率调整
J1=开启串口至MODEM之间速率调整
N N0=只能联结在普通模式。
N1=只能联结在直接模式。
N2=只能联结在MNP模式。
N3=自动联结在普通 MNP /V.42模式。
N4=只能联结在V.42模式。
Q Q0=关闭流程控制
Q1=使用Xon/Xoff流程控制
Q2=使用CTS单向硬件流程控制
Q3=使用CTS/RTS双向硬件流程控制 

回应码摘要:  英 文     代号   意义 
        AT指令相容Modem在执行完指令以後会回应一个码,告诉使用者执行的结果,使用者也只有在收到Modem的回应以後才能继续下达下一个指令,或者继续下一步的动作,所以回应码也是指使使用者下一步要如何进行的指标,如NNECT及CONNECT 1200就可以告欣使用者须在Modem是在300BPS或者1200BPS传输速度,使用者必须依照此指示送出资料,不然资 料传输会发生错误. 

 -----------------------------------------------------

 OK      0   指令执行无误

 

 CONNECT    1   X1状态下表示两台Modem连线成功

 X2,X3.X4状态下,表示两台MODEM连线成功,而且速度为300BPS

 

 RING     2   铃声进来

 

 NO CARRIER  3   两台 MODEM 连线失败

 

 ERROR     4   指令错误或指令行太长超过40个字

 

 CONNECT 1200 5   两台 MODEM 连线成功,而且速度为1200BPS

 

 NO DIALTONE  6   未侦测到拨号音

 

 

 BUSY     7   电话线忙碌

 

 NO ANSWER   8   在 @ 指令下, MODEM 在侦测到回铃声以後未侦测到5秒钟的静音

CONNECT 2400 10  两台 MODEM 2400BPS连线成功

Modem RS-232C 说明 :

 

 接脚   名称   功能   方向

 ----------------------------------------------------

 1     AGND   安全接地

 2     TD    传送资料 PC TO MODEM

 3     RD    接收资料 MODEM TO PC

 4     RTS    控制线  PC TO MODEM

 5     CTS    控制线  MODEM TO PC

 7     DGND   信号接地

 8     DCD    信号侦测 MODEM TO PC

 12    HI    高速指示 MODEM TO PC

 15    TXC    传送时脉 MODEM TO PC *

 17    RXC    接收时脉 MODEM TO PC *

 20    DTR    控制线  PC TO MODEM

 22    RI    铃声指示 MODEM TO PC

 ----------------------------------------------------

 注 : * 号为同步传输时才使用

 

 

 MODEM 灯号

 

 PWR : 电源指示       亮时表示电源接通

 MR : 数据机备妥指示    亮时表示数据机在备用状态 (MODEM READY)

 DTR : 电脑连线指示     亮时表示电脑与数据机连线 (DATA TERMINAL  READY)

 DCD : 数据机接通指示    亮时表示两台数据机连线成 (DATA CARRIER

 功            DETECTOR)

 OH : 占线指示       亮时表示数据机占用电话线 (OFF HOCK)

 HS : 高速指示       亮时表示数据机在高速状态 (HIGH SPEED)

 AA : 应答指示       亮时表示数据机自动应答 (AUTO ANSWER)

 TD : 传输指示 (TXD)    亮时表示数据机传送资料 (TRANSMITTER

 DATA)

 RD : 接收指示 (RXD)    亮时表示数据机接收资料 (RECEIVED DATA)

 

 

 MODEM AT 指令说明:

 

 AT指令除了指令本身以外尚包括S-Register及Result code S-Register是用来记录Modem的参数的暂存器,与有关的指令执行完毕後,Modem会去改变这些参数,但Modem由指令状态进入连线时,Modem会依照这些参数而决定modem的功能,  S-Register可由指令之执行而改变,或者也可以由直接改变  S-Register而改变其内容.

 

 Modem的基本指令如下:

 

 AT指令可以为下列几款:(1)非同步指令(2)立即动作指令

 (3)MNP错误修正指令(4)拨号修饰指令

 .

 非同步指令:

 

 B BELL/CCITT协定设定

 B0:设定Modem为CCITT协定

 B1:设定Modme为BELL协定

 

 E 回应指令:

 此指令可以让使用者选择是否把输入的指令回应显示在萤幕上.

 E0:不回应指令

 E1:回应指令

 

 L 喇叭音量控制

 L指令控制喇叭的音量

 L0:喇叭不响

 L1:低音量

 L2:中音量

 L3:高音量

 

 M 喇叭控制

 此指令控制喇叭的开关

 M0:喇叭不响

 M1:Modem在拨号时,喇叭打开,在连线後,喇叭关掉

 M2:喇叭永远ON

 

 Q Result code 控制指令

 Q指令决定Modem要不要送出Result code 到电脑上

 Q0:显示Result code

 Q1:不显示Result code

 

 Sr= 写入S暂存器

 Sr=n 把 n 数据写入第 r 个S暂存器内

 

 Sr? 读取S暂存器

 Sr?读取第 r 个S暂存器

 

 V 决定Result code 的格式

 V指令选择Result code 的格式

 V0:选择数字式的Result code

 V1:选择文字式的Result code

 

 X 控制拨号的过程及结果显示

 X指令用来控制Modem在拨号过程中是否要辨识拨号音, 忙音及显示结果是否包括速度显示等

 X0:Modem在拨号时不辨识号音及忙音,结果也只显示

 CONNECT,不显示Modem的速度

 X1:Modme拨号时不辨识拨号音及忙音,但结果显示速度,如

 CONNECT 1200,CONNECT 2400等

 X2:Modem拨号时辨识拨号音,但不辨识忙音,结果显示速度

 X3:Modem不辨识拨号音,但是辨识忙音及结果显示速度

 X4:Modem辨识拨号音,忙音及结果显示速度

 

 Y Long Space Break 中止连线

 Y指令指使Modem在收到Long Space Break 信号时是否要中止Modem连线

 Y0:在收到Long Space Break时,不中止连线

 Y1:在收到Long Space Break时,中止连线

 

 &C 设定RS-232C介面DCD Pin的状态

 &C0:设定RS-232C介面DCD Pin(第八Pin)永远ON

 &C1:RS-232C介面DCD Pin由信号来决定,当侦测到信号时

 DCD ON,否则OFF

 .

 &D 设定RS-232C介面DTR Pin的状态

 &D0:DTR Pin(20pin)永远ON,不理会DTR的控制

 &D1:DTR由ON变到OFF时,Modem由连线状态回到到指令状态

 &D2:DTR由ON变到OFF时,Modem切断电话线,取消自动回答及回到指令状态

 &D3:DTR由ON变到OFF时,Modem切断电话线,取消自动回答,并且回到Modem的起始状态

 

 &G Guard Tone的设定

 &G0:Modem不送出Guard Tone

 &G1:选择Guard Tone为550HZ

 &G2:选择Guard Tone为1800HZ

 

 &L 选择拨接或者专线的工作模式

 &L0选择Modem为拨接式工作模式

 &L1选择Modem为专线式工作模式

 

 &P 选择脉冲式拨号的M/B值

 &P0:M/B值为40/60

 &P1:M/B值为33/67

 

 &S 控制RS-232C介面DSR Pin的状态

 &S0:RS-232C介面DSR Pin(第六Pin)始终为ON

 &S1:RS-232C介面DSR Pin由DCD Pin(第八Pin)来决定

 .

 立即动作指令

 

 A 立即回答

 当Modem执行此指令以後,Modem开始侦测Carrier,如果Carrier侦测到,则进入连线状态

 

 A/ 重覆执行指令

 A/指令是唯一前面下必加"AT"的指令.Modem执行此指令以後,Modem执行上一次已经执行过而且尚暂存在 Command Buffer的指令

 

 D 拨号指令

 Modem执行此指令,Modem会依跟在D指令之後的拨号修饰指令来拨号

 

 H 电话线切换控制

 H0:指使Modem切断电话线

 H1:指使Modem连线

 

 O 回到连线状态

 当Modem因执行ESC code 而回到指令状态时,Modem 可以由O指令而回到连线状态

 

 Z 重置指令 (RESET)

 此指令用来Reset Modem的现行状态

 Z指令会使Modem回复到开机起始状态

 

 &F 读取出厂组态设定

 &F用来存在ROM中的出厂设定的,载入到Modem的动作组态 区域,而使Modem会执行出厂设定的状态

 

 &W 将动作组态写入非挥发性记忆体中

 &W把现在的动作组态写入非挥发性(NN-RAM)记忆体中等下次开机时,Modem会执行此动作组态

 

 &Z 储存电话号码

 此指令是用来将电话号码储存到非挥发性记忆体中,下次拨号时,可以由S指令而把此电话号码重拨出去

 ***此指令勿用,以免导至错误动作***

 .

 拨号修饰指令

 

 P 脉冲拨号

 P 指令选择拨号为脉冲式拨号(即转盘式拨号)

 

 T 在复频式拨号

 T 指令选择拨号方式为复频式拨号(接键式拨号)

 

 R 在拨号後处於Answer mode

 R 指令使Modem在拨号以後进入Answer mode

 原来 D 指令使 MODEM 在拨号以後进入 Originate mode,但是有些Modem的频道只有一个频道,不论拨号或回答皆只有Originate mode,所以如此种Modem连线即只有用Answer mode ,在拨号时加入 R 指令,可以使Modem在拨号以後进入Answer mode.

 语法:ATRDT3910324(CR)

 

 W 拨号前等待拨号音

 

 W 指令使Modem在拨号前等待号音,其等待时间由S7来决定.

 语法:ATDT3210324W123(CR)

 Modem 在拨123数字之前会先等待拨号音,在等到了拨号音以後才继续拨123,不然会送出"NO DIALTONE",表示等不到拨号音.

 

 @ 拨号前等待静音

 

 @指令使Modme在拨号以後,开始等待回铃声,在侦测到回铃声以後,再等5秒钟的静音,然後再继续执行指令,等待回铃声的时间由S7来决定

 语法:ATDT30221234@123(CR)

 Modem在拨号302123以後,等待回铃声,在侦测到回铃声以後,再等5秒钟的静音,侦测等5秒钟的静音以後再继续拨号123.

 

 ! 闪动

 

 !指令使Modem断线0.5秒,然後再继续拨号

 

 ; 拨号後回到指令状态

 

 ; 指令使Modem在拨完电话号码以後回到指令状态,继续接受下一个指令.

 

 S 拨存在记忆中的电话号码

 

 S 指令和拨号指令一起用,使Modem拨上次由&Z指令存起来的电话号码

 

 语法:ATDS(CR)

 .

 主要S暂存器摘要:

 

 暂存器  出厂设定值  范 围  单位  功能

 --------------------------------------------------------

 S0      0    0-255  RING  设定铃响次数回应电话

 

 S1      0    0-255  RING  计算铃响次数

 

 S2     43    0-127 ASCII  ESC code

 

 S3     13    0-127 ASCII  输入字元 (Carriage Return)

 

 S4     10    0-127 ASCII  跳行字元

 

 S5      8    0-127 ASCII  退回字元 (Backspace)

 

 S6      2    0-255  秒   等侯拨号音时间

 

 S7     30    1-60  秒   拨号後等待信时 间

 

 S8      2    0-255  秒   逗号暂停时间

 

 S9      6    0-255  0.1秒 信号侦测反应时间

 

 S10     14    0-255  0.1秒 信号消失至挂断电话反应时间

 S11    保 留

 

 S12     50    20-255  0.02秒 ESC code前後

 

 S13    保 留

 

 S14至S27 Modem内部状态设定

挂机操作:
Sleep(1000);
 CString sTemp="+++";
 m_Modem.SetOutput(COleVariant(sTemp));
 Sleep(1000);
 sTemp="ATH0/r/n";
 m_Modem.SetOutput(COleVariant(sTemp));

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值