2012-07-19 82 views
3

我想通過命令行使用ECHO或類似的方式發送以下內容到COM1串口(我也試過下載一個名爲serialsend的小程序,但我被卡住瞭如何發送相當於CTRL + Z。這是通過西門子TC35 GAM模塊發送短信。我可以通過超級終端作爲測試,它工作正常,但我無法弄清楚如何送CTRL +ž末確認定義消息的通過命令行發送Ctrl + Z到串口

這是我有:

AT 

AT+CMGF=1 

AT+CMSG="+xxxxxxxxxxx" 

HELLO 

現在,你好後,這是我想要發送的消息,我要送CTRL +ž。但無法弄清楚如何做到這一點,我已經試過這樣:

AT 

AT+CMGF=1 

AT+CMSG="+xxxxxxxxxxx" 

HELLO 

\x1A 

當我讀到somehwere,這將是這樣做的相當,但它未奏效。

任何人都可以幫助我嗎?我找到了解決方案,但它們不是命令行,這正是我需要的。

我也使用這種格式的嘗試:

ECHO AT > COM1: 

但因爲我不知道如何發送CTRL +ž不知道它是否正在工作。

+0

Ctrl + Z是'(char)26'。 – 2012-07-19 17:49:23

+0

謝謝你的回答,但我不知道如何通過命令行或通過ECHO發送此消息,你能幫忙嗎?謝謝 – omega1 2012-07-19 22:12:24

+0

我以爲你是程序員。改爲發佈到superuser.com。 – 2012-07-19 22:17:59

回答

3

使用此:

port.Write(txt_msgbox.Text + char.ConvertFromUtf32(26)); 

它的工作原理:)

順便說一句,不要忘記,以紀念答案:)

1

我寫你提到的免費命令行程序SerialSend。由於此問題最初發布後,我添加了一個額外的功能,允許在通過串行端口發送的文本中包含任意字節值(十六進制格式)。例如,要立即發送Ctrl-Z(26十進制,十六進制0x1A的),只是使用下面的命令:

SerialSend /hex "\x1a" 

端口名稱/號碼,波特率,等可以與附加的命令行參數來配置。例如,

SerialSend /baudrate 9600 /devnum 2 /hex "\x1a" 

有關更多詳細信息,請參閱SerialSend home page

希望有幫助!

Ted

+0

謝謝,我會看看這個! – omega1 2013-04-25 07:46:53