MOTO V501無法通過AT指令發送短信引起的問題

最近在MOTO V501手機上嘗試發送短信,本來很簡單的功能,但是一直不能正常運行,後來發現短信不成功的原因,發送短信是手機/GPRS MODEM本身自帶的功能,也就是說只要是手機肯定是可以打電話的,對於軟件來說,只是需要用AT指令把所要發送的內容傳送到手機內就可以了。push/書籤也是SMS的一種,不過是二進制(HEX)編碼的。有一條AT指令是控制是不是手機把輸入的命令原封不動的回顯出來,即ATE0不顯示ATE1顯示,這裏的E就是ECHO的意思。V501的問題在於,ATE指令不應該影響到短信發送命令AT+CMGS執行後的大於號>的顯示,這個大於號是告訴用戶,手機準備就緒了,可以繼續傳送SMS內容了。使用ATE0屏蔽ECHO之後,V501把大於號>也給省略了。。。對比了好多遍才發現這個問題。重現的方法很簡單,使用超級終端直接打開V501,輸入CMGF=0,然後輸入AT+CMGS=30看看會有大於號顯示,此時不要發送什麼CTRL+Z退出。使用ATE0關閉ECHO,再輸入AT+CMGS=30看看是否就沒有大於號了,鬱悶阿,弄了好久。。。至於爲什麼不能發送PUSH,還是很奇怪,只能看別人的軟件可不可以發送PUSH了,按照道理來說能發送普通文字短信就可以發送PUSH。
    彩信的問題稍微複雜些,底層的通訊協議和具體的手機有些關係,主要體現在次序和組合上,爲了程序簡單,固定了一些組合和次序,不同的模塊稍微不同,這點應該在我自己的程序中克服的,不過RFC文檔好難看,懶惰阿。 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章