驱动程序和AT命令

驱动程序和AT命令
http://www.voiceangel.com 2003年06月29日 18:31    双击鼠标滚屏
 
  不同的猫可能会有不同的at命令。在windows系统中,每个猫的驱动程序的inf文件里都可以找到一些at命令,比如,下面是从金网霸fm3711猫的xp下的驱动程序中摘录的一段。可以看出,这是在告诉windows执行各种操作时对应的at命令。比如初始化猫的时候就要执行"AT&FE0V1S0=0&C1&D2+MR=2;+DR=1;+ER=1;W2<cr>"下面是金网霸语音猫的驱动程序文件(.inf)的一部分,在安装驱动之后,这些信息就被写到注册表里面了.HKR, Init, 1,, "AT<cr>"
HKR, Init, 2,, "AT&FE0V1S0=0&C1&D2+MR=2;+DR=1;+ER=1;W2<cr>"
HKR, Monitor, 1,, "ATS0=0<cr>"
HKR, Monitor, 2,, "None"
HKR, Hangup, 1,, "ATH<cr>"
HKR, Answer, 1,, "ATA<cr>"
HKR, , Reset,, "ATZ<cr>"
。。。。。HKR, StartPlay, 1,, "at+vtx<cr>"
HKR, StopPlay, 1,, "None"
HKR, StopPlay, 2,, "NoResponse"
HKR, StartRecord, 1,, "at+vrx<cr>"
HKR, StopRecord, 1,, "None"
HKR, StopRecord, 2,, "NoResponse"
HKR,, TerminateRecord,, "<h10><h21>"
HKR,, TerminatePlay,, "<h10><h03>"
HKR,, AbortPlay,, "<h10><h03>"
HKR, LineSetPlayFormat, 1,, "at+vsm=130,8000,0,0<cr>"
HKR, LineSetRecordFormat, 1,, "at+vsm=130,8000,0,0<cr>"

HKR, VoiceToDataAnswer, 1,, "at+fclass=0<cr>"
HKR, VoiceToDataAnswer, 2,, "ata<cr>"
下面是应答的时候要执行的命令。注意,在语音模式下,at+vls=1<cr>"就可以应答了,不需要ata
HKR, VoiceAnswer, 1,, "at+fclass=8<cr>"
HKR, VoiceAnswer, 2,, "at+vtd=10<cr>"
HKR, VoiceAnswer, 3,, "at+vsm=130,8000,0,0<cr>"  设置语音数据压缩格式。
HKR, VoiceAnswer, 4,, "at+vit=6<cr>"
HKR, VoiceAnswer, 5,, "at+vls=1<cr>"

HKR, VoiceDialNumberSetup, 1,, "at+fclass=8<cr>"
HKR, VoiceDialNumberSetup, 2,, "at+vls=0<cr>"
HKR, VoiceDialNumberSetup, 3,, "at+vrn=0<cr>"
HKR, VoiceDialNumberSetup, 4,, "at+vtd=10<cr>"
HKR, VoiceDialNumberSetup, 5,, "at+vsm=130,8000,0,0<cr>"
HKR, VoiceDialNumberSetup, 6,, "at+vit=6<cr>"
下面是猫发送给电脑的响应字符串。

HKR, Responses, "0<cr>", 1, 00, 00, 00,00,00,00, 00,00,00,00 ; OK
HKR, Responses, "1<cr>", 1, 02, 00, 00,00,00,00, 00,00,00,00 ; CONNECT
HKR, Responses, "2<cr>", 1, 08, 00, 00,00,00,00, 00,00,00,00 ; RING
HKR, Responses, "3<cr>", 1, 04, 00, 00,00,00,00, 00,00,00,00 ; NO CARRIER
HKR, Responses, "4<cr>", 1, 03, 00, 00,00,00,00, 00,00,00,00 ; ERROR
HKR, Responses, "5<cr>", 1, 02, 00, B0,04,00,00, 00,00,00,00 ; CONNECT 1200
HKR, Responses, "6<cr>", 1, 05, 00, 00,00,00,00, 00,00,00,00 ; NO DIALTONE
HKR, Responses, "7<cr>", 1, 06, 00, 00,00,00,00, 00,00,00,00 ; BUSY
HKR, Responses, "8<cr>", 1, 07, 00, 00,00,00,00, 00,00,00,00 ; NO ANSWER关于详细的驱动信息,请看完整的inf文件  在驱动程序安装以后,这些信息就被装到注册表里去了。不同的操作系统,注册表的结构也有所不同。在win9x中,在LOCAL_MACHINE/system/CurrentControlSet/services/class/modem下,每一个猫对应一个子目录,比如第一个猫是0000目录,第二个是0001.打开目录,可以看到许多子目录和数据项,每个子目录对应着一个动作,比如拨号,应答等,目录里面则是具体的AT命令。数据项中描述了猫的一些属性,比如Model项就是猫的驱动描述,matchingDeviceID对应的是PCI/xxxx,在LOCAL_MACHINE/system/CurrentControlSet/services/enum下可以找到这个项,在里面可以找到和串口有关的信息,比如猫对应的串口号等。  在xp中,LOCAL_MACHINE/system/CurrentControlSet/services/modem下可以找到0,1...项代表各路猫。打开其中的一项,其值是PCI/XXXX的格式。在LOCAL_MACHINE/system/ControlSet001/enum/中可以找到与该值相应的项。打开它的子项,其中有一项是Driver,在LOCAL_MACHINE/system/ControlSet001/control/class中可以找到项名为Deriver的值的项,该项下面有许多项,比如Answer,VoiceAnswer,StartPlay,StartRecord,EnableCallerID,Hangup等等,打开其中的一项,可以发现里面的内容是猫执行某项操作的时候需要用到的AT命令。比如Rockwell芯片的猫的EnableCallerID里面的内容通常是 Name   Type    Data (Default) REG_SZ  (value not set)  1    REG_SZ  at+vcid=1<cr>有时候猫的驱动程序安装不正确,里面就有可能缺少某些项,比如金网霸PF-X01(芯片Conexant 11242)在98下安装后就没有 EnableCallerID 项,这样在TAPI模式下,猫就没有来电显示功能了。要想解决这个问题,可以手工把这一项添加到注册表里面。  在winxp下,系统会自动给猫安装驱动程序,删除了系统自动安装的驱动程序之后,扫描硬件改动,系统仍然会自动安装系统自带的驱动程序。要想使用厂家提供的驱动程序,在设备管理里面找到猫,然后双击,找到驱动程序页面,点更新驱动程序,出现更新驱动向导,有两个选项,第一个是自动安装,第二个是从列表或特定的位置安装,选择第二个,点下一步,又出现两个选项,第一个是从下列位置中选择搜索驱动程序,第二个是不搜索,直接选择驱动程序。选择第二个,点下一步,再点从磁盘安装,找到驱动程序存放的位置,就可以了。
 

你可能感兴趣的:(c,windows,XP,磁盘)