我有一个名为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)。
答案 0 :(得分:0)
这只是fwrite/serial
的数据格式要求。数据A
应该是向量,而不是数组。你应该试试
fwrite(COM1, test2(:), 'int8', 'sync');
但请确保列主要订单是您所需要的。否则,你会做
test2 = test2.'; % will send in row order
fwrite(COM1, test2(:), 'int8', 'sync');