Нет COM порта после загрузки скетча. (LEONARDO)

Здравствуйте.
Я загрузил скетч и Leonardo сначала отключилась (как обычно), а за тем не подключилась. Когда я нажимаю кнопку reset и она сначала подключается не на “рабочий” COM порт (как обычно), а потом отключается и не подключается. Замена провода/USB порта не помогает.

Вот скетч:

#define COUNT_REGISTR   6 // количество регистров 
#define BYTES_VAL_T uint64_t
// пины для подключения регистра
int ploadPin = 10;
int clockEnablePin = 11;
int dataPin = 12;
const uint8_t clk_pin = 13; // 2 вывод м/с, CP тактовый вход, сигнал тактирующий
 
BYTES_VAL_T pinValues; // текущее значение пинов 
bool pinList[48];

int num = 0;
 

// функция для считывания пинов
BYTES_VAL_T read_shift_regs() {
    BYTES_VAL_T bitVal; //bool 
    BYTES_VAL_T bytesVal = 0;
 
    // опрашиваем регистр о состоянии пинов
    digitalWrite(clockEnablePin, HIGH);
    digitalWrite(ploadPin, LOW);
    delayMicroseconds(40);
    digitalWrite(ploadPin, HIGH);
    digitalWrite(clockEnablePin, LOW);
 
    // считываем полученные данные о пинах
    for(int i = 0; i < COUNT_REGISTR * 8; i++){
        bitVal = digitalRead(dataPin);
        bytesVal |= (bitVal << ((COUNT_REGISTR * 8-1) - i));
        digitalWrite(clk_pin, HIGH);
        delayMicroseconds(40);
        digitalWrite(clk_pin, LOW);
   }
      
    // возвращяем результат опроса регистра
    return(bytesVal);
}


bool to_list(){ 
  String str;

  // перебор всех пинов  
  for(int i = 0; i < COUNT_REGISTR * 8; i++){
    if((pinValues >> i) & 1){
      str += "1";
    }else{
      str += "2";
    }
  }
  return(str);
}
 

String display_pin_list(){
  for(int i = 0; i < COUNT_REGISTR * 8; i++){
    Serial.print(pinList[i]);
  }
  Serial.println("-" + String(num));
}


// функция для вывода состояния пинов
void display_pin_values(){
    // перебор всех пинов  
    for(int i = 0; i < COUNT_REGISTR * 8; i++){
        if((pinValues >> i) & 1){
          Serial.print("1");
        }else{
          Serial.print("0"); 
        }
        Serial.print(" ");
    }
    Serial.print(num);
    Serial.println();
}

 
void setup(){
    Serial.begin(9600);
 
    pinMode(ploadPin, OUTPUT);
    pinMode(clockEnablePin, OUTPUT);
    pinMode(clk_pin, OUTPUT);
    pinMode(dataPin, INPUT);
    digitalWrite(clk_pin, LOW);
    digitalWrite(ploadPin, HIGH);
 
    // считываем значения с пинов
    pinValues = read_shift_regs();
    // выводим результат
    display_pin_values();
}
 
void loop(){
  // считываем значения с пинов
  pinValues = read_shift_regs();
  // выводим результат в монитор порта
  // display_pin_values();
  // display_pin_list();
  String Str = display_pin_list();
  Serial.println(Str);
  num++;
}

P.S.: подключён каскад из 6 входных сдвиговых регистров 74HC165

Что вы хотите сделать ? Если залить прошивку - жмите ресет в самом конце компиляции …
Если увидеть вывод в Serial, который работает через USB - надо после Serial.begin(9600) надо ждать инициализацию Serial - while (!Serial);

У меня комп не видит акдуинку, до того момента, как я не нажму reset, но тогда от подключится на левый COM порт и загрузить прошивку не получается
https://youtu.be/OFqg5sGfmhc

Это и есть порт для загрузки скетча !
Какой скетч у вас залит ?

тот, который я загрузил на форум + я не могу загружать скетч через него

Нажмите в IDE загрузить скетч и как только закончится компиляция - жмите RESET.

Спасибо огромное!!!

Я же сразу об этом написал - Нет COM порта после загрузки скетча. (LEONARDO) - #2 от пользователя Komandir

так я в самом конце и жал, а не после. В
сё равно, спасибо огромное

В копилку знаний. Вместе мы-сила!
Сегодня случилась такая-же хрень. Но, я пытался загрузить пустой скетч с reset-ом. Были пустые сетап и луп. Для минимизации размера скомпилированного скетча. Загружаться не успевал даже такой маленький, пока я в диспетчере устройств не открыл появляющийся на 3 сек. порт леонардо . Выставил в нём скорость 115200. Проверил, не встало, выставил ещё раз, проверил-встала. Затем повторил загрузку с нажатием reset. Леонардо ожил. Ура!