Не могу загрузить скетч

Подключил к ноутбуку (2007 года выпуска, windows 7, 32 бита) которым не пользовались
много лет. Все заработало, только установил Arduino IDE 32бита.
Теперь, думаю, нужно искать проблему с материнкой. Попробую сменить все драйверы для нее.
Спасибо.

1 лайк

переустановил драйверы для материнки и все заработало

А с кодом разобрались?

К сожалению нет, просто не зная как к нему подступиться. Хотел просто использовать драйвер
для экрана ssd1331 в коде на Си, но Atmel studio кучу ошибок выдала. А в коде Arduino при входе в кейсы применил &&, мигание стало меньше. Но теперь после переключения строки появляется подсветка в виде наложения предыдущей строки. Короче пока я в тупике

witch (iState)
  {
    case 0:
      //Turn off all LEDs
      digitalWrite(led1Pin, LOW); 
     if( (bWasPressed == 0)&&(iState==0))
     {
    
  display.setCursor(4,28);
  display.setTextColor(BLACK);
  display.setTextSize(2);
  display.print("2");
  delay(50);
  display.setCursor(2,28);
  display.setTextColor("WHITE");
  display.setTextSize(2);
  display.print("POSITIV");}

  break;
  
     case 1:
       
        if( (bWasPressed == 0)&&(iState==1))
        {
//          display.fillRect(0,25, 120, 32, BLACK);
          display.setCursor(2,28);
  display.setTextColor("BLACK");
  display.setTextSize(2);
  display.print("POSITIV");
   delay(50);
  display.setCursor(4,28);
  display.setTextColor(BLUE);
  display.setTextSize(2);
  display.print("NEGATIV");}  
//display.fillRect(0,25, 120, 32, BLACK);
   blink();
      break;
      
    case 2:
      //Turn on second LED
      
 if( (bWasPressed == 0)&&(iState==2))
{
//  display.fillRect(0,25, 120, 32, BLACK);
  display.setCursor(4,28);
  display.setTextColor(BLACK);
  display.setTextSize(2);
  display.print("NEGATIV");
   delay(50);
    display.setCursor(4,28);
  display.setTextColor(GREEN);
  display.setTextSize(2);
  display.print("1");
  } 
blink2();
     break;

А где проверка на изменившиеся данные, которую я предлагал добавить?

Проверьте соответствие № COM порта в вашей IDE и в диспетчере устройств.

Вы читаете ответы? Или так просто что-нибудь написать?

Прошу прощения за задержку, ждал посылку от aliexpres. Думал проблема с экраном,
теперь получил новые, подключил. Но проблема осталась. После перехода в switch с позиции на позицию кроме новой строки остается и подсвечивается на экране предыдущая. Кроме
case 0, т.е. та строка , которая загружается после включения экрана OLED. Но кода проходит
полный цикл переключений кнопкой и переходим опять в case 0 - появляется подсветка от
от строки в case 3.
Что касается мерцания, то в коде на Си для чистой Atmega 328 и OLED SD1306(монохромный)
все работает без проблем с мерцанием и подсветкой с самого начала.
Я попытался в этом проекте(на Си) использовать драйвер для цветного OLED SD1331 .
Но правильно ввести его в программу не вышло, появилось очень много сообщений
об ошибках.
Ну а когда попробовал написать код на Си++ сначала появилось это мерцание, от которого
я с Вашей помощью избавился, но сейчас появилась другая проблема - подсветка предыдущей
строки.
Похоже я зря пробовал использовать Си++, имея только небольшой опыт в чистом Си.
Или нужно как-то переделывать драйвер (библиотеку) SD1331 для работы с AVR а не с Arduino.
Не уверен, что это вообще возможно.

Извините, я что то пропустил? Ардуина уже не AVR?

Уважаемый nik182. Я знаю, что Arduino это сборка на Atmega 328 (т.е.AVR) с различной обвязкой (по крайней мере Uno,Nano ). Есть сборки на других AVR. Это не имеет отношения к проблеме о которой я написал. Вы можете что-то сказать по существу?

а каквя у вас проблема по существу? Вы пишете, что можете написать код для АВР, но не можете для ардуино. Это вызывает вопросы, поскольку и то и другое программируется на С/C++.
Обсуждать проблему по существу можно будет, если вы начнете задавть конкретные вопросы по коду. А пока я вижу только жалобы на то, что С++ - сложный язык и никакой конкретики.

Извините.