【发布时间】:2015-03-09 15:24:14
【问题描述】:
我正在编写一个脚本来与 arduino 交谈。 arduino 监听串口通信,并根据收到的命令进行操作。
如果我在 Matlab 命令提示符下工作,一切都会按预期进行:我发送命令:
s = serial('COM4','BaudRate',9600, 'Terminator', 'LF/CR');
fopen(s);
fprintf(s, '%s','start');
pause(10;
fprintf(s, '%s','stop');
fclose(s);
arduino 的反应是在关闭泵之前启用泵 10 秒。
如果我在脚本中使用完全相同的代码,则不会发生任何事情。 问题似乎出在 fprintf 中,因为如果我从脚本打开串行通信(并使其保持打开状态),我可以从提示符发送启动/停止命令并且它可以工作。
我尝试在脚本中添加行终止符
fprintf(s, '%s \n','start');
但这又什么也没做(尽管在命令提示符下可以正常工作)。
有人遇到过同样的问题吗?
【问题讨论】:
标签: matlab serial-port printf arduino-uno