gpt4 book ai didi

excel - 从 Matlab 发送短信并确保所有收件人都收到短信

转载 作者:行者123 更新时间:2023-12-03 02:04:41 29 4
gpt4 key购买 nike

我创建了一个 matlab 代码,它从 Excel 文件的 O 列获取电话号码,然后发送一条 sms给他们。

它可以工作,但发送短信时出现问题。看来 matlab 不会等到我的调制解调器完成第一个 sms 的处理。因此,当 Excel 列有 8 个电话号码时,调制解调器只能向其中的前 3-4 个电话号码发送 sms。这是代码:

[num MP]=xlsread('D:\Ray\Data.xls',1,'O:O');     %get the phone numbers from excel

MP=MP(cellfun(@(x)not(isempty(x)),MP)); %remove the empty cells

[row column]=size(MP); %get the number of the phone numbers

t1=char(13); %(for doing 'enter')
t2=char(26); %(for doing 'ctrl+z)
sms='hello'; %SMS content
t4=sprintf('%s',sms);
t5='AT+CMGF=1'; %for text mode

s = serial('COM5');

s.baudrate=9600;

fopen(s); %open serial COM5 (my modem)

fprintf(s,'%s', t5);
fprintf(s,'%s', t1);

for q=1:row

t3=sprintf('AT+CMGS="%s"',char(MP(q)));

fprintf(s,'%s', t3);
fprintf(s,'%s', t1);
fprintf(s,'%s', t4);
fprintf(s,'%s', t2);

end

fclose(s)

我想知道如何让matlab等到我的调制解调器处理完第一个电话号码后再尝试将短信发送到第二个号码,因此所有电话号码可以收到短信

有什么建议吗?

提前致谢。

最佳答案

作为一个非常简单的解决方案,如果您知道发送 SMS 需要多长时间,您可以使用 pause 语句强制 Matlab 等待。例如,如果发送一条短信大约需要 3 秒,您可以添加

pause(3)

进入循环。

请注意,如果出于某种原因,发送时间比预期长得多,则此方法将失败(或者您必须设置太长的暂停,以致代码变得不可用)。一个更聪明但更复杂的解决方案是按照@Daniel 在评论中的建议查询调制解调器或 COM 端口。

关于excel - 从 Matlab 发送短信并确保所有收件人都收到短信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23823683/

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