红联Linux门户
Linux帮助

请问有关ARM-LINUX的3G模块发送AT指令的问题

发布时间:2012-08-13 23:36:47来源:红联作者:sdsy1212
[i=s] 本帖最后由 sdsy1212 于 2012-8-13 23:38 编辑 [/i]

各位大鸟好。。。
我是新玩ARM-LINUX的 我主要做一些有关3G模块的东西 数据传输神马的。。。

我目前使用的模块是SIM5218 在我的Ubuntu 12(3.2.0)上发送AT命令或者是传输数据都正常

但是换到OK6410上 FOLINX(3.0.1) 使用open函数 write read等发送接收AT指令 总是一个指令出现多次 甚至错误 但还能凑合连上

我尝试换过模块 使用华为的MU509也会出现类似的问题

每当发送的数据为"at" 即恰好是AT指令中的指令(其实发送的是数据) arm接收端接收到后立即把这个数据当做指令从usb口发送出去 结果就悲剧了。。。

求各位大鸟给点思路啊。。。谢谢了。。。

C文件里面是:


writeCom(CommFd, "ATE0\r");

sleep(1);

printf("the serial id1 is%d\n",CommFd);

writeCom(CommFd, "AT+CGDCONT=1,\"IP\",\"uk.lebara.mobi\",,0,0\r");

sleep(1);


writeCom(CommFd, "AT+CFUN=1\r");

sleep(1);

sleep(1);


writeCom(CommFd, "AT+CMMSCURL?\r");

sleep(1);

sleep(1);
flg1:


writeCom(CommFd, "AT+NETCLOSE\r");

sleep(1);

sleep(1);

sleep(1);

sleep(1);


writeCom(CommFd, "AT+NETOPEN=\"TCP\",80,0\r");

sleep(1);

sleep(1);

sleep(1);

sleep(1);


writeCom(CommFd, "AT+TCPCONNECT=\"xxx.xx.xx.xxx\",16882\r");


while(1)

{ read(CommFd, buf, sizeof(buf));

printf("%s",buf);

if(strstr(buf,"RING"))

{ sleep(1);


writeCom(CommFd, "ATA\r");

sleep(1); }

if(strstr(buf,"IPCLOSE"))

{ goto flg1; }

memset(buf,0,160);

}


症状整理为LOG:

[root@FORLINX6410]# ./sdcard/arm-of
start
argv = (null)
argc = 1
id is 3, device port is 3
the serial id1 is3


Network opened



OK

AT+CGDCONT=1,"IP","uk.lebara.mobi",,0,0


OK

AT+CGDCONT=1,"IP","uk.lebara.mobi",,0,0


OK

(出现了20多次)

AT+CGDCONT=1,"IP","uk.lebara.mobi",,0,0


OK

AT+CGDCONT=1,"IP","uk.lebara.mobi",,0,0


OK
AT+CGDCONT=1,"IP","uk.lebara.mobi",,0,0


OK

AT+CGDCONT=1,"IP","uk.lebara.mobiAT+CFUN=1


ERROR

AT+CGDCONT=1,"IP","uk.lebara.mobiAT+CFUN=1


ERROR

AT+CGDCONT=1,"IP","uk.lebara.mobiAT+CFUN=1


ERROR

AT+CGDCONT=1,"IP","uk.lebara.mobiAT+CFUN=1


ERROR

(这个出现了50多次)

AT+CGDCONT=1,"IP","uk.lebara.mobiAT+CFUN=1


ERROR

AT+CGDCONT=1,"IP","uk.lebara.mobiAT+CFUN=1


ERROR

AT+CGDCONT=1,"IP","uAT+CMMSCURL?


ERROR

aAT+CFUN=1


OK

AT+CGDCONT=1,"IP","uAT+CMMSCURL?


ERROR

AT+NETOPEN="TCP",80,0


+IP ERROR: Network is already opened



ERROR

AT+TCPCONNECT="xxx.xx.xx.xxx",16882


Connect ok



OK


RECV FROM:xxx.xx.xx.xxx :16882

+IPD6

123456



RECV FROM:xxx.xx.xx.xxx :16882

+IPD3

ata

ata


NO CARRIER

ata


NO CARRIER

ata


NO CARRIER

ata


NO CARRIER

ata


NO CARRIER

ata


NO CARRIER

ata


NO CARRIER

ata
(从此就不停的出现ata NO CARRIER)
文章评论

共有 0 条评论