我正在尝试使用c程序中的命令发送短信。我有时能成功发送短信。然而,有时我将无法发送短信。在这种情况下,我将CMS ERROR作为缓冲区溢出。这是随机的情况。
任何人都可以帮助解决这个问题。缓冲区溢出指示什么?我们应该如何调试此问题?这是随机发生的。有时在测试时,在所有情况下都会成功发送短信。但有时我们会得到这个错误。
我的代码段如下:
int fd_at;
char at_cmd[25];
char *number = "+91xxxxxxxxxx";
fd_at = open("/dev/ttyUSB2", O_RDWR | O_NOCTTY);
sprintf(at_cmd, "AT+CMGF=1\r");
ret = write(fd_at, at_cmd, strlen(at_cmd));
sprintf(at_cmd, "AT+CMGS=\"%s\"\r", number);
ret = write(fd_at, at_cmd, strlen(at_cmd));
ret = write(fd_at, "Hello\032", 6);
close(fd_at);
在所有情况下,我都检查了write的返回值。在所有情况下,它都显示了所需的价值。发送除此之外的短信是否还需要其他东西。
请帮忙。
我得到的错误如下。
+ CMS ERROR:缓冲区溢出
由于