Arduino无法发回串行数据

所以我发现了如何将Arduino连接到我的java程序。 但是使用串行连接不会返回任何有用的数据,它的格式错误,或者只是将其作为一个盒子发送。 我已经看过这里早期发布的相关问题,但没有一个提示似乎有所帮助。 那么有谁知道如何使用串口在Arduino和计算机之间发送数据?

这是我正在使用的代码,由此人提供: http : //silveiraneto.net/2009/03/01/arduino-and-java/

package serialtalk; import gnu.io.CommPortIdentifier; import gnu.io.SerialPort; import java.io.InputStream; import java.io.OutputStream; import processing.app.Preferences; public class Main { static InputStream input; static OutputStream output; public static void main(String[] args) throws Exception{ Preferences.init(); System.out.println("Using port: " + Preferences.get("serial.port")); CommPortIdentifier portId = CommPortIdentifier.getPortIdentifier( Preferences.get("serial.port")); SerialPort port = (SerialPort)portId.open("serial talk", 4000); input = port.getInputStream(); output = port.getOutputStream(); port.setSerialPortParams(Preferences.getInteger("serial.debug_rate"), SerialPort.DATABITS_8, SerialPort.STOPBITS_1, SerialPort.PARITY_NONE); while(true){ while(input.available()>0) { System.out.print((char)(input.read())); } } } } 

Arduino是这样的: http : //www.arduino.cc/en/Main/ArduinoBoardDuemilanove

代码只是接收一个数字,并从我的Arduino中确定它应该发回的模拟读数。

处理串行连接时,请确保以下要点:

  • BAUD价格匹配
  • 数据库应该匹配
  • STOPBITS应匹配
  • PARITY应该匹配
  • 确保使用正确的电缆(如果需要,可以使用Null调制解调器)
  • 确保电缆运行时间不会太长

所有这些都可能导致奇怪的东西从Java端的com端口出来。 一旦掌握了这一点,它就变得容易了。

我个人最喜欢的图书馆。