⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 d186.bmp.txt

📁 Visual C++通信编程工程实例精解(附盘)
💻 TXT
字号:
DTE发送AT命令到Modem,Modem执行后通过RxD返回结果给DTE。这些命令和返回结
果码符合RS-232C数据格式。Modem通过AT命令和几个特定的S寄存器的状态确定DTE
发出的是命令还是数据。
    与此相对应,Modem的状态也可以分为命令状态和在线状态。除了拨号占据短暂的时
间之外,Modem总是处于其中一种状态,当Modem起动后,首先处于命令状态,连接后进
入在线状态。在命令状态下Modem以AT命令形式接受命令。处于在线状态下时,Modem
与远端系统通信,这时Modem不再尝试对发送给它的数据进行解释,而是直接将其发送出
去。这两种状态可以相互转换。
    (1)命令状态
    当Modem处于命令状态时,Modem不是和远端系统通信,而是准备接收命令。此时,
Modem -般都处于挂机状态(离线命令状态),但也可以处于摘机状态(在线命令状态)。
Modem接收并解释AT命令。只有在命令状态下DTE才能对Modem进行控制,包括修改参
数和拨号等。当Modem上电时都处于离线命令状态,连接建立后进入在线状态。此时如果
Modem接收到换码序列,则进入在线命令状态。
    (2)在线状态
    当通信双方握手完成,建立遁信链路后,Modem就可以发送和接收数据,此时Modem
的状态称为在线状态。从电话机来的数据被传送到DTE。在该状态下Modem不再对接收到
的数据分析处理,因此,如果此时发送端发送以AT开始的字符串,发送端的Modem不认
为是AT命令,因而不会对该序列进行处理,而只是作为一般的数据发送。当载波信息消失
后,Modem自动返回命令状态。
    (3)状态转换
    命令状态和在线状态可以进行相互转换。当建立连接后,Modem由离线命令状态转为
在线状态;在通信过程中,如果DTE由Modem发送换码序列+++,在发送前后均有Is的
保护时间(即Modem空闲),Modem将由在线状态转为在线命令状态:DTE向Modem发
送ATO命令,Modem将从在线命令状态重新进入在线状态;如果DTE向Modem发送ATH
命令,Modem将挂机,从而由在线命令状态转为离线命令状态;如果由于远端Modem挂
机或线路中断等原因导致载波信号丢失,那么Modem将由在线状态转为离线命令状态。
    2.AT命令
    所有的Modem命令都从一个特定的“命令前缀”开始,到一个“命令结束标志”结束。
命令前缀通常总是由AT两个字符组成。命令结束标志是~个单字符,其值存放在S寄存器
中,通常为回车符<CR>。S寄存器中的内容可以用AT命令修改,因而命令结束标志是可以
改变的。
    命令行除非特别情况,一般均由AT或at开始。Modem从这两个字符中能检测出波特
率、字长和奇偶校验。当然必须事先设置好计算机串行口的这些参数。
    每个AT命令以一个单字符或一个&号后跟一个字符定义组成。基本上所有命令的后继
参数均采用十进制形式。每个AT命令行可以包括许多条AT命令,而只需一个AT引导。一
个命令行被正确执行的前提是其中每个命令都是正确的,否则将被丢弃。执行完命令行后,
Modem并不清除命令缓冲区,而一直保存到下一条新的AI’命令到来为止。
    每当Modem执行完一个AT命令行之后,Modem都会返回结果码以对接收到的命令作
186

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -