4

问题:

  1. 我可以使用超级终端通过 COM9 发送短信。都好。
  2. 但是我不能在 matlab 中正确使用 AT 命令来做同样的事情。我什至无法通过第一个“AT”步骤。我收到的错误是“意外错误:意外错误:写入期间发生错误。” 它似乎来自 fprintf。帮助!

这是代码:

try
    s = serial('COM9','BaudRate',9600); 
    fopen(s);
    tx='AT';  
    tx1=char(13);
    tx2=char(10);
    fprintf(s, '%s', sprintf('%s%s%s', tx, tx1, tx2));
    out = fscanf(s);
    disp(out);
    fclose(s); 
catch aException
    fclose(s);
    error(message('MATLAB:serial:fprintf:opfailed', aException.message));
4

1 回答 1

1

您已正确完成串行通信部分。在 AT 命令集中,要检查设备的工作情况,发送“AT”和换行就足够了。您还同时向设备提供了回车和换行。这可能会产生问题。此外,在第一次编写 MATLAB 代码时,请尝试像在超级终端中那样单独发送字符。它会解决你的问题。

当通信链路创建成功时,从 MATLAB 的角度来看,不会有任何问题。

于 2014-02-14T07:27:15.033 回答