酷!學園

技術討論區 => Embedded 討論版 => 主題作者是: jasonorz 於 2007-01-13 04:15

主題: Embedded linux GPRS
作者: jasonorz2007-01-13 04:15
各位大大有在 arm9 開發板 接 GPRS 模組的經驗嗎?
小弟 寫了code 測試 AT 指令,
下了 AT 但是 理論上 模組應該會回 OK 訊息回來。
但是都沒有?~ 大家有經驗嗎?~
以下是 部分CODE

       int fd, Readlen, Sendlen;
       char st[] = "AT\n";
   har buf[5];
        :
        :
   Sendlen = write(fd, st, strlen(st)); / /把 data write to uart1;
   printf("writing...AT in..\n");
        printf("%s\n",st);
   
   sleep(1);
   
   while(1)  //這邊要等待UART1看有沒有回傳 OK 寫while等 ---
   {
      Readlen=read(fd,buf,5);
      if(!strncmp(buf,"OK",2))
      {
         printf("i get it ok !! can go on !!\n");
         break;
      }
   }
主題: Re: Embedded linux GPRS
作者: mjabe2007-01-17 23:57
引述: "jasonorz"
各位大大有在 arm9 開發板 接 GPRS 模組的經驗嗎?
小弟 寫了code 測試 AT 指令,
下了 AT 但是 理論上 模組應該會回 OK 訊息回來。
但是都沒有?~ 大家有經驗嗎?~
以下是 部分CODE

       int fd, Readlen, Sendlen;
       char st[] = "AT\n";
   har buf[5];
        :
        :
   Sendlen = write(fd, st, strlen(st)); / /把 data write to uart1;
   printf("writing...AT in..\n");
        printf("%s\n",st);
   
   sleep(1);
   
   while(1)  //這邊要等待UART1看有沒有回傳 OK 寫while等 ---
   {
      Readlen=read(fd,buf,5);
      if(!strncmp(buf,"OK",2))
      {
         printf("i get it ok !! can go on !!\n");
         break;
      }
   }



可以參考:
http://www.pxh.de/fs/gsmlib/
主題: Embedded linux GPRS
作者: Sula30654082007-03-02 14:57
會不會是通訊夾雜垃圾字元回來,讓你strcmp失敗,你要不要去檢查Readlen的長度,判斷有資料,看看到底給你啥碗糕,DEBUG一下吧~
主題: Embedded linux GPRS
作者: Sula30654082007-03-02 14:59
不然架設個通訊監聽看看,到底是你沒接到還是他沒傳出來,反正請先釐清處一下問題吧。