我寫了一個代碼發送數據到串口/ dev/ttyACM0。基本上這與GSM調制解調器一起使用來發送SMS。 AT命令設置SMS在存儲器中併發送它是發送ctrl-z到C(GSM SMS)中的串口
首先我需要寫在串行端口 下面的「AT + CMGW = 16 \ R」
然後寫以下PDU轉換後的消息 069110090000F111000A9210299232900000AA03C8F40F 然後發送CTRL-Z
我有發送CTRL-Z的問題
說消息= 「069110090000F111000A9210299232900000AA03C8F40F」 我已經試過
strcat(message,"\x1A"); //Does not work
strcat(message,"\032"); //Does not work
我甚至試着在其中增加一個字符爲char *
void append(char *s,char c)
{
int len = strlen(s);
s[len] = c;
s[len+1] = '\0';
}
append(message, '\032'); //Does not work
append(message, '\x1A'); //Does not work
的功能,我需要讀取接收端口的緩衝區,以檢查計數 例子+ CMGW:4
然後寫 AT + CMSS = 3 \ r 發送消息。
在minicom上鍵入上面的AT命令發送SMS。但在C代碼中,我只能輸入ctrl-z。
有誰知道如何去做呢?
任何幫助表示讚賞 謝謝
它不附加到消息還是不發送ctrl-z?如果它沒有發送ctrl-z,你是否檢查了發送代碼中是否短了一個字符? – cup
@cup看來它附加。我在接收緩衝區數據的消息旁邊看到一個奇怪的外觀符號。但是一旦發送了ctrl-z,我還需要收到+ CMGW: OK。我根本沒有收到這個。我只看到上面的命令和消息旁邊的一個奇怪的符號,沒有任何符號。所以我假設ctrl-z沒有發送 –
Giz