Помогите с неработающим примером, библиотека DigisparkCDC

В библиотеке DigisparkCDC есть стандартный пример CDC_LED. (нажимаешь1 - диод загорается, нажимаешь 0 - диод гаснет)
Заливается в плату без ошибок. В мониторе порта набираю “1” или “О”, и слетает соединение, возникает надпись: Нет соединения, выберете плату и порт для автоматического подключения.

При этом в диспетчере устройств Digispark Serial (COM3) не слетает.
Из-за чего так получается?

другие примеры из библиотеки DigisparkCDC тоже не работают

у меня Windows8.1, Arduino IDE 2.0.3, Digispark (Default - 16.5mhz) пакет Digistump1.6.7

выложите код

Поясните, в чем разница между первым вариантом

и вторым

первый вариант - объяснение смысла работы скетча
второй вариант - практическое исполнение

#include <DigiCDC.h>
void setup() {                
  // initialize the digital pin as an output.
  SerialUSB.begin(); 
  pinMode(1,OUTPUT);
}

// the loop routine runs over and over again forever:
void loop() {
  
  //turns led on and off based on sending 0 or 1 from serial terminal
  if (SerialUSB.available()) {
    char input = SerialUSB.read();
    if(input == '0')
      digitalWrite(1,LOW);
    else if(input == '1')
      digitalWrite(1,HIGH);
      
  }
  
   SerialUSB.delay(100);               
}

Попробуйте в стр.20 добавить

 SerialUSB.refresh(); 

Проверял, это ничего не дает. Скетч заливается без ошибок. Проблема, видимо в библиотеке. Стороннюю библиотеку пробовал, проблема та же

вообще по номерам на плате, пин 1 - это ресет. Так то неудивительно, что плата перезагружается :slight_smile:

Хотя какие пины в Ардуино - я точно не скажу.

1 лайк

Не плата перезагружается, а монитор компорта слетает. При этом в диспетчере устройств Digispark Serial (COM3) не слетает

и потом, я менял библиотеку в скетче DigiCDC на DigiUSB и все работает, через монитор USB

Попробуйте другую терминальную программу, напр. PUTTY

В putty такая картинка получается

2024-11-16 14:56:03 Starting 7456 from user@MSI-GV
2024-11-16 14:56:18 Opening serial device COM3
2024-11-16 14:56:18 Configuring baud rate 9600
2024-11-16 14:56:18 Configuring 8 data bits
2024-11-16 14:56:18 Configuring 1 data bits
2024-11-16 14:56:18 Configuring no parity
2024-11-16 14:56:18 Configuring no flow control
2024-11-16 14:56:40 Соединение закрыто удаленным хостом
2024-11-16 14:56:40 Error writing to serial device
2024-11-16 14:56:40 Фатальная ошибка PuTTY: Error writing to serial device

то есть компорт определяется, а при отправке команды слетает

я думаю, библиотеку нужно настраивать

А в свойствах порта можно настройки посмотреть, скорость, и.т.д.?

Мне винда выносила мозг с подключением ардуины и программатора. Съехал на линукс, все заработало.

говорят, еще помогает смена места жительства.

я там разные варианты пробовал, не помогает

в библиотеке есть файл где настройки компорта и USB. Но там нужно предмет хорошо знать, чтобы что-то менять, а я не знаю.

Да, глянул, есть такое. Хотя по идее в ІDE должно всё настраиваться.
Проверьте, к каким пинам у вас физически подключены D+ и D-. USB

там все правильно, я писал выше: меняю библиотеку в примере DigiCDC на DigiUSB и все работает, через монитор USB. Значит, с пинами все нормально, проблема с библиотекой DigiCDC.

Не факт.Вы пробовали с другой библиотекой. В этой есть варианты