Z reguły zaczynając przygodę z Arduino pierwszą metodą debugowania jaką się wybiera jest wrzucanie do terminala stanów za pomocą funkcji „Serial.print”. Bardziej efektywne jest użycie debugera. Poniżej przykład jak to osiągnąć w systemie MacOS z wykorzystaniem PlatformIO oraz JetBrains CLion na urządzeniu STM32 F103C8T6 podłączonym za pośrednictwem ST-LINK V2.
Problem z funkcją createChar obiektu LiquidCrystal w bibliotece "LiquidCrystal.h".
Po w graniu prostego przykładu ze strony arduino.cc, funkcja createChar powinna umożliwiać definiowanie własnych znaków.
Test wykonałem z wykorzystaniem płytki STM32 F103 i wyświetlacza LCD 1604.
Aby problem rozwiązać należy zastąpić w pliku LiquidCrystal.cpp biblioteki wartość 100 na 40 w linii 309 jak poniżej.
303 void LiquidCrystal::pulseEnable(void) {
304 digitalWrite(_enable_pin, LOW);
305 delayMicroseconds(1);
306 digitalWrite(_enable_pin, HIGH);
307 delayMicroseconds(1); // enable pulse must be >450ns
308 digitalWrite(_enable_pin, LOW);
309 delayMicroseconds(40); // commands need > 37us to settle
310 }