Ви не увійшли.
Есть такая проблема. Добавил библиотеку LiquidCrystalRus.h. открываю образец из данной библиотеки. При попытке скомпилировать выдаёт такую ошибку.
Arduino: 1.6.5 (Windows XP), Плата"Arduino Uno"
In file included from AlphabetRus.pde:25:0:
C:\Program Files (x86)\Arduino\libraries\LiquidCrystalRus/LiquidCrystalRus.h:87:16: error: conflicting return type specified for 'virtual void LiquidCrystalRus::write(uint8_t)'
virtual void write(uint8_t);
^
In file included from C:\Program Files (x86)\Arduino\libraries\LiquidCrystalRus/LiquidCrystalRus.h:5:0,
from AlphabetRus.pde:25:
C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/Print.h:48:20: error: overriding 'virtual size_t Print::write(uint8_t)'
virtual size_t write(uint8_t) = 0;
^
Ошибка компиляции.
Это сообщение будет содержать больше информации чем
"Отображать вывод во время компиляции"
включено в Файл > Настройки
Где грабли?
Неактивний
Скачал архив с "русской" библиотекой LiquidCrystalRus.h по указанной ссылке (файл LiquidCrystalRus-1.6.0.zip),
это единственная библиотека которая не выдает ошибки при компиляции скетча в ARDUINO IDE 1.6.10.
В процессе работы обнаружилась еще одна ошибка.
У меня символьный ЖК 16х4 дисплей модель (BC1604AGPLCHb).
Пишу простенький скетч, что бы мне в нулевой столбец вывело символы 0;1;2;3 в координаты ("0"- 0,0; "1"- 0,1; "2"- 0,2; "3"- 0,3),
должно было получиться:
0
1
2
3
Вместо этого на индикаторе выводится:
0
1
3
4
Т.е. в 3 и 4 строке координата Х на 4 знака опережает фактическое значение.
Думал проблема с чипом дисплея, перекомпилировал все на родной "английской" библиотеке LiquidCrystal.h -
проблема исчезла, отображает все правильно, т.е. проблема програмная и возможно в русской библиотеке,
помогите решить...
Вот мой скетч:
// включение в скетч библиотеки для работы с LCD
#include <LiquidCrystalRus.h>
// инициализация библиотеки с номерами интерфейсных контактов
LiquidCrystalRus lcd(12, 11, 5, 4, 3, 2);
// инициализируем целочисленную переменную "x" и присваеваем ей знач+ение "0"
int x=0;
void setup()
{
// устанавливает количество колонок и строк символьного LCD дисплея
lcd.begin(16,4);
// устанавливает курсор в позицию колонка 0, строка 0
// (примечание: отсчет позиций начинается с Х=0;Y=0, т.е. крайний левый верхний символ имеет координату 0,0)
lcd.setCursor(0,0);
}
void loop(){
lcd.setCursor(0,0);
lcd.print("0");
lcd.setCursor(0,1);
lcd.print("1");
lcd.setCursor(0,2);
lcd.print("2");
lcd.setCursor(0,3);
lcd.print("3");
}
Help!
У меня символьный ЖК 16х4 дисплей модель (BC1604AGPLCHb)
подгружаю библиотеку LiquidCrystalRus.h
Символы верхних 2-х строк позиционируются нормально, а нижние 2 - позиционируются со смещением вправо на 4 знака.
Что это за фигня. Или эта библиотека может корректно работать только с 2-х строчными ЖК дисплеями.
Подскажите где взять библиотеку с русскими символами для 4-х строчного индикатора.
поинтереснее обновление
http://zepete.livejournal.com/96197.html
либо в библиотеке исправляйте
void LiquidCrystalRus::setCursor(uint8_t col, uint8_t row)
{
int row_offsets[] = { 0x00, 0x40, 0x14, 0x54 };
if ( row >= _numlines ) {
row = _numlines-1; // we count rows starting w/0
}
command(LCD_SETDDRAMADDR | (col + row_offsets[row]));
}
тут можно посмотреть что нужно указывать как аргумент
http://www.soselectronic.hu/a_info/reso … _VER01.pdf
Неактивний
tyfffghfhhd