我正在使用Processing通过串口向Arduino卡发送一个字节数组。我有一个奇怪的问题,Arduino似乎没有“同步”读取数组 - 字节元素似乎转移到Arduino代码。
例如,从Processing I发送数组:
array = [0, 1, 2, 3, 4];
并且Arduino可以将其读作:
array = [2, 3, 4, 0, 1];
这个问题随机出现 - 大约是我尝试的1/3,而且转变也总是随机的。当它工作时,它会在会话期间继续工作,直到我重新启动连接。
有没有其他人遇到过类似的问题?关于如何解决这个问题,您有什么建议吗?
此致 托拜厄斯
答案 0 :(得分:1)
您能否提供一个显示如何发送和读取字节的代码示例? 特别是阅读arduino代码非常重要。
目前尚不清楚如何同步传输:假设您发送5个字节 - Arduino代码在收到完整数组时如何检测? 如果您依赖串行端口缓冲区并且只计算5个传入字节,假设它们构成一个数组,则检查如果至少丢失一个字节会发生什么(例如由于处理代码重新启动而某些字节已经发送到Arduino) 。