通过命令行将Ctrl + Z发送到串口

时间:2012-07-19 14:26:46

标签: command-line serial-port ctrl

我正在尝试使用ECHO或类似命令通过命令行将以下内容发送到COM1串口(我也尝试下载一个名为serialsend的小程序,但我仍然坚持如何发送等效的 CTRL + Z 。这是通过西门子TC35 GAM模块发送短信。我可以通过Hyperterminal作为测试来做,它工作正常,但我无法弄清楚如何在末尾发送 CTRL + Z 以确认消息的内容。

这就是我所拥有的:

AT

AT+CMGF=1

AT+CMSG="+xxxxxxxxxxx"

HELLO

现在,在Hello,我要发送的消息之后,我必须发送 CTRL + Z 。但无法弄清楚如何做到这一点,我试过这个:

AT

AT+CMGF=1

AT+CMSG="+xxxxxxxxxxx"

HELLO

\x1A

正如我读到的那样,这相当于这样做,但它没有用。

任何人都可以帮我吗?我找到了解决方案,但它们不是命令行,这就是我需要的。

我也尝试过使用这种格式:

ECHO AT > COM1:

但由于我不知道如何发送 CTRL + Z 我不知道它是否有效。

3 个答案:

答案 0 :(得分:3)

使用此:

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

有效:)

答案 1 :(得分:2)

我写了你提到的免费命令行程序SerialSend。由于此问题最初发布,我添加了一个额外的功能,允许在您通过串行端口发送的文本中包含任意字节值(十六进制格式)。例如,要发送Ctrl-Z(十六进制为26,十六进制为0x1A),只需使用以下命令:

SerialSend /hex "\x1a"

可以使用其他命令行参数配置端口名称/编号,波特率等。例如,

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

有关详细信息,请参阅SerialSend home page

希望有所帮助!

泰德

答案 2 :(得分:0)

键入此命令Serial.println((char)26);在Arduino代码中...一个方形框将出现在串行监视器上。复制该正方形并粘贴到Notepad ++中。它将以黑色背景显示为SUB。每当您要键入cntrl + z时,只需复制此SUB并粘贴到串行监视器中即可。可以。