Ардуино Мега 2560 + 2 дисплея st7920

boomych
Offline
Зарегистрирован: 28.12.2013

Приветствую!

Использую ардуино мега 2560 и 2 дисплея st7920. Так как остальные порты зарянты датчиками, остались свободные 8-13,на которые я эти дисплеи и подключил. Библиотека u8g.

инициализация дисплеев стандартная 

8GLIB_ST7920_128X64_4X    u8g(10, 9, 8 );

U8GLIB_ST7920_128X64_4X   u8g2(13, 12, 11 );

в цикле loop я делаю вывод на дисплеи поочередно с интервалом 1сек.

if ((displayNo == 0) && (currentDisplayMillis - lastDisplayUpdate) > 1000)
 {
  u8g.firstPage(); 
  do {
 ....
       }
  while( u8g.nextPage());
  displayNo = 1; 
  lastDisplayUpdate = currentDisplayMillis;
 }
else if ((displayNo == 1) && (currentDisplayMillis - lastDisplayUpdate) >1000)
 {
  u8g2.firstPage(); 
  do {
 ....
       }
  while( u8g2.nextPage());
  displayNo = 0; 
  lastDisplayUpdate = currentDisplayMillis;
 }

И вот тут начинаются непонятки. Первый дисплей (u8g) обновляется единственный раз при старте, после этого обновление не происходит. Со вторым дисплеем (u8g2) все отлично - обновляется с положеным интервалом. Если я убираю обновление второго дисплея, начинает обновляться первый.

Вопрос - что я делаю не так и где искать ошибку?

Tomasina
Tomasina аватар
Offline
Зарегистрирован: 09.03.2013

Копаться в библиотеке дисплея надо.

Кроме переименованного дубликата файла какие-то изменения вносили?

boomych
Offline
Зарегистрирован: 28.12.2013

Собсно, проблема похоже, решена. 

http://forum.arduino.cc/index.php?topic=91395.165

Баг в библиотеке, выдали исправление.