有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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) 个答案