Estoy creando una interfaz serial a MIDI en Java, con los datos en serie provenientes de un Arduino y siendo procesados a través de la biblioteca RXTX. Desafortunadamente, al usar el código sugerido del enlace del sitio web de Arduino , no puedo recuperar los datos en serie. El código de ejemplo se usa Serial.println
en el lado de Arduino y BufferedReader.readLine()
en el lado de Java. En mi código, no estoy escribiendo una línea a través de Serial.println, sino un mensaje MIDI.
Arduino :
void MIDI_TX(unsigned char MESSAGE, unsigned char PITCH, unsigned char VELOCITY)
{
status = MESSAGE + midichannel;
Serial.write(status);
Serial.write(PITCH);
Serial.write(VELOCITY);
}
Intenté leer los datos en serie en un búfer de caracteres:
Java
char buf[] = new char[3];
reader.read(buf);
int channel = (int)buf[0] ;
int key = (int)buf[1] ;
int vel = (int)buf[2] ;
pero obtengo datos raros ...