[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)