Подключил к ноутбуку (2007 года выпуска, windows 7, 32 бита) которым не пользовались
много лет. Все заработало, только установил Arduino IDE 32бита.
Теперь, думаю, нужно искать проблему с материнкой. Попробую сменить все драйверы для нее.
Спасибо.
переустановил драйверы для материнки и все заработало
А с кодом разобрались?
К сожалению нет, просто не зная как к нему подступиться. Хотел просто использовать драйвер
для экрана 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++.
Обсуждать проблему по существу можно будет, если вы начнете задавть конкретные вопросы по коду. А пока я вижу только жалобы на то, что С++ - сложный язык и никакой конкретики.
Извините.