在.Net micro framework的一个项目的开发过程中,有一个GPRS的Modem。我们在主板上通过串口,提供了5v的电压。
GPRS Modem设计板如图:
我们使用TXD和RXD,对应到另外一块主板芯片上面的COM4,在开始实现GPRS Modem拨号的过程中,我想是使用GSM 7.07的标准,在Tera Term终端中,经由STK500开发电板连接上GPRS Modem上面的串口,然后发送命令来拨号上网。
steps when dial up the GPRS Modem:
/* Steps when Reset the GPRS Modem:
* 1.Check the PIN code, if need we update it, update the PIN code.
* 2.ask for a disconnection.
* 3.Set Default Connection.
* 4.Set Flow Control. DTE-DCE local flow control. Flow control = NONE.
* 5.SET PDP.
* 6.Dial Specified PDP.
*/
于是首先发送:AT,
接着Ask for a disconnection of all connections in GPRS Modem: ATH
then, Set the default configuraiton: ATZ
这个命令可以softreset,如果想硬重启这个GPRS Modem,还是得需要往Reset脚上置低一次。
接着,set flow contrl,DTE-DCE Local Flow Control, flow control = NONE,
AT+IFC=0,0
然后就是set DCD signal, to match the network data carrier.
AT&C1.
接下来,可以看看SIM卡是否需要输入PIN code,查询下先:AT+CPIN?
根据相应的结果来决定是否需要输入PIN码或者不用输入。
然后还剩下最后两步,设置PDP,然后dial the specified PDP:
AT+CGDCONT=1,"IP","cmnet"
ATDT*99***1#
在atdt这个连接的过程中,可以读取DCD针脚上面的表示是否连接上,来决定是否需要切换使用PPP 协议来拨号。
这里,实际上说明这个题目说明的事情是不可能实现的,一个Serial Port终端,可以使用AT命令来连接上Network carrier,但是想要拨号成功上网,
使用终端是不可以的,因为没有实现PPP协议。但是,使用终端连接上Network carrier却是可以的。
做一回标题党 呵呵