【发布时间】:2014-07-06 10:40:44
【问题描述】:
我正在用 Java 制作一个串行到 MIDI 接口,串行数据来自 Arduino,并通过 RXTX 库进行处理。
不幸的是,使用来自 Arduino 网站link 的建议代码,我无法检索串行数据。
示例代码在 Arduino 端使用 Serial.println,在 Java 端使用 BufferedReader.readLine()。在我的代码中,我不是通过 Serial.println 写一行,而是一条 MIDI 消息。
阿杜诺:
void MIDI_TX(unsigned char MESSAGE, unsigned char PITCH, unsigned char VELOCITY)
{
status = MESSAGE + midichannel;
Serial.write(status);
Serial.write(PITCH);
Serial.write(VELOCITY);
}
我尝试读取 char 缓冲区上的串行数据:
Java
char buf[] = new char[3];
reader.read(buf);
int channel = (int)buf[0] ;
int key = (int)buf[1] ;
int vel = (int)buf[2] ;
但我得到了奇怪的数据...
【问题讨论】:
标签: java serial-port arduino midi