1. 程式人生 > >【GPRS傳送控制符】SIM908/508 GPRS傳送資料中的控制符

【GPRS傳送控制符】SIM908/508 GPRS傳送資料中的控制符

  今天傳送一組資料,發現數據每次都是隻傳送到一半,後面的資料都沒有了,檢查了一下發送出去的資料,和要待發的資料在哪個地方斷開,發現是在0x19和0x1A處斷開,所以0x19和0x1A是比較特殊的數值,經過比較,發現是0x1A導致的後面的資料丟失,0x1A 剛好是傳送控制符,也就是陣列中的0x1A導致了資料的提前傳送,後面的資料就沒發出去。去掉0x1A後,發現問題換成另一個問題,那就是,資料根本就沒有發出去,後來瞭解得知,是0x1B的問題,0x1B剛好是模組的“退出”控制符,所以模組在接收到0x1B時,模組退出傳送狀態,導致資料無法傳送出去。

   以前沒有發現這個問題,是因為以前測試用的事變動的資料,資料一直在變動,所以導致一兩條資料沒有發出去,我們察覺不出來。

有人有相似的經驗:

SIM908解決方式很簡單,無需上面連線提到的方法,只需利用AT+CIPSEND 的length引數,控制傳送的長度即可

,使用length 引數 還看免去 ctrl+z 這一步,非常方便。UESTC LCX 2012.3.25

AT+CIPSEND=length

例如:

AT+CIPSEND=9

AT+CIPSEND=09

AT+CIPSEND=009

以上等效。