Серийное чтение Java Arduino
Я делаю интерфейс Serial to MIDI в Java с последовательными данными, поступающими из Arduino и обрабатываемыми через библиотеку RXTX. К сожалению, используя предложенный код из ссылки на сайт Arduino, я не могу получить серийные данные. Пример кода использует Serial.println
на стороне Arduino и BufferedReader.readLine()
на стороне Java. В моем коде я пишу не строку через Serial.println, а 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);
}
Я попытался прочитать серийные данные в буфере символов:
Джава
char buf[] = new char[3];
reader.read(buf);
int channel = (int)buf[0] ;
int key = (int)buf[1] ;
int vel = (int)buf[2] ;
но я получаю странные данные...
1 ответ
Решение
Решено: это была просто ошибка в port.setSerialPortParams
Я писал на скорости 115200, но читал на 9600.