ssilver2007 / LCD_1602_RUS_ALL

Библиотека поддержки кириллицы для дисплеев на базе контроллера HD44780 без встроенной кириллицы. Подключение дисплея как напрямую (10-контактное), так и по интерфейсу I2C.
GNU General Public License v3.0
61 stars 11 forks source link

fix max_symbol_count usage #8

Closed alberist closed 2 years ago

alberist commented 2 years ago

symbol_index может иметь значение равное max_symbol_count, что превышает допустимое значение

Пример для воспроизведения ошибки:

#define _LCD_TYPE 2
#include "LCD_1602_RUS_ALL.h"

#define P_DISPLAY_RS 32
#define P_DISPLAY_EN 33
#define P_DISPLAY_D4 23
#define P_DISPLAY_D5 22
#define P_DISPLAY_D6 19
#define P_DISPLAY_D7 18

LCD_1602_RUS lcd{P_DISPLAY_RS, P_DISPLAY_EN, P_DISPLAY_D4, P_DISPLAY_D5, P_DISPLAY_D6, P_DISPLAY_D7};

void setup(){
  lcd.begin(16, 2);
}

void loop() {
    lcd.setCursor(0, 0);
    lcd.print("абвгдежз");
    delay(5000);
    lcd.setCursor(0, 0);
    lcd.print("ийклмноп");
    delay(5000);
    lcd.setCursor(0, 0);
    lcd.print("рстуфхцч");
    delay(5000);
    lcd.setCursor(0, 0);
    lcd.print("шщъыьэюя");
    delay(5000);
}