通过串行发送数据阵列

时间:2017-10-24 05:32:07

标签: matlab serial-port

我有一个名为viewportEvent(QEvent *event)的串口,我想同步写一些数据,但是当使用多行数据时,我收到一个错误:

QEvent::TouchBegin

QEvent::TouchUpdate出现的错误只是说COM1是否可以通过这种方式将数据作为数组发送?如果是这样,我怀疑问题在于如何终止行。如何确保阵列和串口的终结器匹配?我知道test1 = randi([0,255],1,32); test2 = randi([0,255],2,32); fwrite(COM1, test1, 'int8', 'sync'); %successful fwrite(COM1, test2, 'int8', 'sync'); %unsuccessful 但不知道匹配MATLAB数组应该是test2

使用MATLAB版本9.3.0.713579(R2017b)。

1 个答案:

答案 0 :(得分:0)

这只是fwrite/serial的数据格式要求。数据A应该是向量,而不是数组。你应该试试

fwrite(COM1, test2(:), 'int8', 'sync');

但请确保列主要订单是您所需要的。否则,你会做

test2 = test2.'; % will send in row order
fwrite(COM1, test2(:), 'int8', 'sync');