2012-07-19 55 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