作者 主題: Embedded linux GPRS  (閱讀 6695 次)

0 會員 與 1 訪客 正在閱讀本文。

jasonorz

  • 可愛的小學生
  • *
  • 文章數: 1
    • 檢視個人資料
Embedded linux GPRS
« 於: 2007-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;
      }
   }

mjabe

  • 憂鬱的高中生
  • ***
  • 文章數: 194
    • 檢視個人資料
    • http://home.so-net.net.tw/michtw
Re: Embedded linux GPRS
« 回覆 #1 於: 2007-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/

Sula3065408

  • 可愛的小學生
  • *
  • 文章數: 6
    • 檢視個人資料
Embedded linux GPRS
« 回覆 #2 於: 2007-03-02 14:57 »
會不會是通訊夾雜垃圾字元回來,讓你strcmp失敗,你要不要去檢查Readlen的長度,判斷有資料,看看到底給你啥碗糕,DEBUG一下吧~

Sula3065408

  • 可愛的小學生
  • *
  • 文章數: 6
    • 檢視個人資料
Embedded linux GPRS
« 回覆 #3 於: 2007-03-02 14:59 »
不然架設個通訊監聽看看,到底是你沒接到還是他沒傳出來,反正請先釐清處一下問題吧。