Leonardo ETH и его USB

Тема в разделе "Arduino & Shields", создана пользователем risele, 9 июн 2017.

Метки:
  1. risele

    risele Нерд

    Добрый день.
    Есть у меня платки Leonardo ETH и Mega 2560.
    На обеих висит одинаковый тестовый скетч, который посылает данные в Serial и помаргивает светодиодиком для индикации:
    Код (C++):
    void setup() {
      // put your setup code here, to run once:
      Serial.begin(9600);
      while (!Serial) {
        ; // wait for serial port to connect. Needed for Leonardo only
      }
      Serial.println("Start");
    }
    int i=0;
    void loop() {
      Serial.println(i);
      digitalWrite(13, !digitalRead(13));
      delay(333);
      i++;
    }
    Но поведение плат отличается.
    А именно, если смотреть через USB на Мегу, то после нажатия Reset она перезагружается и передает данные в порт, начиная со "Start".

    У Leonardo ETH же по-другому. Соединение разрывается и не восстанавливается. Помогает нажать Reset несколько раз (мне кажется, четное число, но я не уверен) и заново активировать сеанс связи с ПК. При этом после каждой перезагрузки стабильно плата сначала теряется и, спустя секунду, вновь появляется в диспетчере устройств. Но терминал удается перезапустить далеко не всегда с первого раза. Для чтения USB использую Hyperterminal.

    Это нормальное поведение для Leonardo ETH? Я знаю, что у неё связь по USB отличается от остальных плат.

    В описании платы в магазине Амперки есть следующее:
     
    Последнее редактирование: 9 июн 2017
  2. rkit

    rkit Гуру

    Нормальное.
     
  3. mcureenab

    mcureenab Гуру

    C Leonardo есть такое дело. И Reset не всегда помогает.