Java/C#串行端口写入Arduino读取错误字节
我有一个我最初用Java编写的程序,它可以写入一个我插入arduino pro mini的串行端口。每个数据块是6个字节,当arduino接收到数据时,它会将数据吐回控制台,我可以看到。问题是,当数据被吐回时,它经常以错误的顺序发送,一些字节似乎被发送了两次。我在c#中编写了相同的功能,同样的事情正在发生。我编写了一些arduino代码,将数据写入自身并回显,这是正确的
所以问题一定是我的非arduino代码,或者一些硬件设置。在我的代码中,我在每次写入后都添加了一个延迟,允许数据在一段时间内保持正确,但它最终开始出错
我试图搞乱波特率,但没用。为什么会发生这种情况
这是我的arduino代码
//wait for seven bytes to come
if (Serial.available() >= 7) {
/* read the most recent byte */
Serial.print("Data: ");
//set the enable byte
data[0] = ENABLE;
Serial.print((int)data[0], DEC);
Serial.print(" ");
for(int i = 1; i < DATA_SIZE; i++)
{
data[i] = Serial.read();
Serial.print((int)data[i], DEC);
Serial.print(" ");
}
Serial.println();
}
共 (0) 个答案