С Искры не приходят данные через COM на PC в программу на C#. C Uno работает нормально. Помогите, может кто сталкивался? Имеются Arduino Uno и Iskra Neo. На Arduino Uno отладил скетч - с Serial принимается команда, что то делается (что то включается/выключается или считывается показание датчика) и в Serial посылается подтверждение или показание датчика. С монитором (из adruino IDE) скетч работает и на Arduino Uno и с Iskra Neo (подключал как Leonardo). Написал программу на C#, которая работает с COM портом (использовал SerialPort из System.IO.Ports). Подключение к PC по USB. С Arduino Uno программа работает точно также, как с монитора. С Iskra Neo команды в COM порт уходят и выполняются, но ничего не приходит с платы. При посылке команды моргает TX, а затем еще два раза почему то TX моргает, хотя ничего не передается, а RX молчит. С монитора на обеих платах при посылке команды TX моргает, затем моргает RX - все как задумано. Ну и с Arduino Uno все работает нормально с PC. Вот код скетча: Код (C++): #define LED_PIN 13 #define SPEED_1 5 #define DIR_1 4 String message; int temp; void setup() { Serial.begin(9600); pinMode(LED_PIN, OUTPUT); pinMode(SPEED_1, OUTPUT); pinMode(DIR_1, OUTPUT); } void loop(){ if (Serial.available()) { while (Serial.available()) { char incomingChar = Serial.read(); if (incomingChar != '\n') message += incomingChar; else { if (message == "shut_on") { shutOn(); } else if (message == "shut_off") { shutOff(); } else if (message == "who") { Serial.println("My_Control"); } else if (message == "get_a0") { temp = analogRead(A0); Serial.println(temp); } } } message = ""; } delay(200); } void shutOn() { Serial.println("ON"); digitalWrite(DIR_1, LOW); analogWrite(SPEED_1, 255); delay (1000); analogWrite(SPEED_1, 0); } void shutOff() { Serial.println("OFF"); digitalWrite(DIR_1, HIGH); analogWrite(SPEED_1, 255); delay(1000); analogWrite(SPEED_1, 0); } А вот кусок кода на C#: Код (C++): private void button3_Click(object sender, EventArgs e) { label1.Text = ""; currentPort.Open(); Thread.Sleep(500); if (currentPort.IsOpen) { currentPort.WriteLine("shut_off"); label1.Text = ReadFromPort(); } } private string ReadFromPort() { Thread.Sleep(500); var ret = "нет ответа"; if (currentPort.BytesToRead > 0) { ret = currentPort.ReadLine(); } currentPort.Close(); return ret; } Повторы, более длительные задержки - не помогает. В currentPort.BytesToRead всегда ноль. Но проблема, похоже в Iskra Neo - RX то не загорается. За то в момент, когда по идее идет передача (Serial.println) TX моргает два раза.