У меня есть следующий эскиз Arduino:
int hygrometer = A3;
void setup(){
Serial.begin(9600);
}
void loop(){
int value = analogRead(hygrometer);
value = constrain(value,400,1023);
value = map(value,400,1023,100,0);
Serial.println(value);
delay(2000);
}
Однако, с другой стороны последовательного соединения (приложение .NET Core, размещенное на Raspberry Pi с Raspbian), я получаю некоторые странные результаты, так как правильно отображается только 1-й символ, остальные - просто случайные байты. Более того, если я запускаю Serial Monitor без приложения, прослушивающего последовательный интерфейс, значения отображаются правильно. Однако в тот момент, когда я запускаю приложение, Serial Monitor отображает то же самое.
Это код .NET Core для инициализации последовательной связи:
SerialDevice serial = new SerialDevice(port1, BaudRate.B9600);
serial.Parity = Parity.None;
serial.StopBits = StopBits.One;
serial.DataBits = 8;
serial.Handshake = Handshake.None;
serial.DataReceived += DataReceivedHandler;
if (serial != null && serial.IsOpen)
serial.Close();
serial.Open();
Есть идеи о том, что происходит?
Спасибо!