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

问题描述 投票:0回答:4

我正在尝试使用 ECHO 或类似的命令行将以下内容发送到 COM1 串行端口(我也尝试过下载一个名为 Serialsend 的小程序,但我不知道如何发送相当于 CTRL+Z 的内容) . 这是通过西门子 TC35 GAM 模块发送短信。我可以通过超级终端进行测试,效果很好,但我不知道如何在结束确认消息的内容。 这就是我所拥有的: 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

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

command-line serial-port ctrl
4个回答
4
投票

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

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

有关更多详细信息,请参阅

SerialSend 主页

希望有帮助! 特德

使用这个:


3
投票

有效:)


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


0
投票

在我的带有 USB gsm 调制解调器的系统中,下一个脚本可以工作:


0
投票

#!/bin/bash #usage: sendsms <mobile number> <text to send> printf "AT+CMGF=1\r\nAT+CMGS=\"$1\"\r\n$2\x1a" > /dev/ttyUSB3

如您所见,printf 将 ctrl-z 发送为 \x1a

© www.soinside.com 2019 - 2024. All rights reserved.