gpt4 book ai didi

c - 将 ctrl-z 发送到 C 中的串行端口(GSM SMS)

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:59:08 25 4
gpt4 key购买 nike

我写了一个代码来发送数据到串口/dev/ttyACM0。基本上这是与 GSM 调制解调器一起使用来发送 SMS。在内存中设置短信并发送的AT命令是

首先我需要在串口中写入如下内容"AT+CMGW=16\r"

然后写入如下pdu转换后的报文069110090000F111000A9210299232900000AA03C8F40F然后发送 ctrl-z

我在发送 ctrl-z 时遇到问题

说消息 = "069110090000F111000A9210299232900000AA03C8F40F"我试过了

strcat(message,"\x1A"); //Does not work
strcat(message,"\032"); //Does not work

我什至尝试过一个将 char 添加到 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 十六进制值 0x1A 之后的值是垃圾值。所以我的命令无法将短信保存在内存中,因为它不知道 0x1A 后面的值是什么意思。为了解决这个问题,我使用 strlen 将 char * 的实际大小发送到串口。

关于c - 将 ctrl-z 发送到 C 中的串行端口(GSM SMS),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22381008/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com