library help needed, LCD (i2c) on NuMaker Uno

Hi all.
I'm trying to use a 1602 (16,2) style LCD via i2c PCF8574 on a Nuvoton Numaker Uno (ARM Cortex-M0 / Nuc131).
I'm currently trying to use the LiquidCrystal_I2C library as I have had this working with a Arduino Nano.

As a temporary workaround for compile errors, I have added to the sketch;

extern "C" void __cxa_pure_virtual() { while (1); }
#include <Wire.h> 
#include <LiquidCrystal_I2C.h>

extern "C" void __cxa_pure_virtual() { while (1); }

LiquidCrystal_I2C lcd(0x3F);  // Set the LCD I2C address
#define LCD_ADDRESS   0x3F;

void setup()
{
  lcd.begin(16,2);                      // initialize the lcd 
  lcd.backlight();
  Serial.begin(19200);
}
void loop()
{
  lcd.clear();
  lcd.setCursor(0,0);
   lcd.print("Test");
   Serial.println("Running");
   delay (2000);
}

This will then compile and appears to run any other code fine, printing to serial etc. however I only get a blinking curser that moves right 2 on each update and the backlight only flashes on with each LCD update.

I have been able to get this display working correctly with the Numaker with some code found on a Korean blog but this doesn't use an LCD library, so adds a lot of code to a sketch.
I would prefer if possible to modify (or have modified) the LiquidCrystal_I2C library so that others attempting to use this board can benefit from the ease and cleanliness of a working library.
Unfortunately I do not know where the compatibility issue is to even start trying to edit the library, so any guidance on this would be greatly appreciated

Thanks in advance,
-Craig

I have had similar problems, and it is which library you are using. I found there are several and they are not compatible. What you describe is what I saw, I tried several different libraries and found one that worked. Sorry I have no idea which one worked and which ones didn't.

ok, glad to hear there is a library that works, hopefully it is a main repo not one of the 100's forks.
once I find a working one I will update this post with which one so that others can hopefully find it in the future.

Non working libraries;
LiquidCrystal_PCF8574
LiquidCrystal_I2C
NewLiquidCrystal

Adafruit_LiquidCrystal

\Adafruit_LiquidCrystal.cpp: In member function 'void Adafruit_LiquidCrystal::_digitalWrite(uint8_t, uint8_t)':
\Adafruit_LiquidCrystal.cpp:365:53: error: 'shiftOut' was not declared in this scope
     shiftOut(_SPIdata, _SPIclock, MSBFIRST, _SPIbuff);

hd44780

hd44780_I2Cexp.h:104:2: error: #error hd44780_I2Cexp i/o class requires Arduino 1.0.1 or later
 #error hd44780_I2Cexp i/o class requires Arduino 1.0.1 or later

/\Tried with 1.8.13 and 1.6.9. After removing that line from the .h, I still couldn't get a display

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.