【发布时间】:2014-10-27 00:28:01
【问题描述】:
我正在尝试在 Matlab 中与 Arduino 板建立串行链接。从板上读取数据进展顺利。但是,对于我发送的每个信息块,将数据写入电路板大约需要一秒钟。
我正在运行写入数据的代码:
s = serial(comprt,'BaudRate',9600,'DataBits',8);fopen(s);fprintf(s, '%c', 'c');fprintf(s, '%u %u %u %u \n', [A B C D]);pause(1);fprintf(s, '%c', 'a');pause(1);
A、B、C、D 是 0 到 255 之间的任意 8 位数字,“c”和“a”是字符命令,它们在 Arduino 板上执行操作并利用板上的固件。
如果我不包括 pause(1) 命令,那么当我没有停止 Matlab 执行下一个命令至少一秒钟时,串行信息不会通过。
谁能帮我加快向串口写入内容的速度?我检查了 Arduino 编辑器,当我通过他们的界面输入等效命令时,一切都很好。所以延迟与 Arduino 板或设备驱动程序无关,它肯定是在 Matlab 方面。
【问题讨论】:
-
尝试在打开连接后立即添加 2 秒延迟。这可以让您消除其他延迟。
-
亲爱的无花果,非常感谢。打开序列后,我确实等了一会儿,我担心这不是问题。根据一些故障排除,我只是显示了问题所在的关键命令。
标签: matlab interface serial-port arduino