1,6c1 < //www.DFRobot.com < //last updated on 26/11/2010 < //Tim Starling Fix the reset bug (Thanks Tim) < //wiki doc http://www.dfrobot.com/wiki/index.php?title=I2C/TWI_LCD1602_Module_(SKU:_DFR0063) < //Support Forum: http://www.dfrobot.com/forum/ < --- > // LiquidCrystal_I2C V2.0 10d4 < #include "WProgram.h" 12c6 < --- > #include "Arduino.h" 67c61 < delay(50); --- > delayMicroseconds(50000); 77,90c71,84 < // we start in 8bit mode, try to set 4 bit mode < write4bits(0x03 << 4); < delayMicroseconds(4500); // wait min 4.1ms < < // second try < write4bits(0x03 << 4); < delayMicroseconds(4500); // wait min 4.1ms < < // third go! < write4bits(0x03 << 4); < delayMicroseconds(150); < < // finally, set to 4-bit interface < write4bits(0x02 << 4); --- > // we start in 8bit mode, try to set 4 bit mode > write4bits(0x03); > delayMicroseconds(4500); // wait min 4.1ms > > // second try > write4bits(0x03); > delayMicroseconds(4500); // wait min 4.1ms > > // third go! > write4bits(0x03); > delayMicroseconds(150); > > // finally, set to 4-bit interface > write4bits(0x02); 225c219 < inline void LiquidCrystal_I2C::write(uint8_t value) { --- > inline size_t LiquidCrystal_I2C::write(uint8_t value) { 226a221 > return 0; 235,238c230,233 < uint8_t highnib=value&0xf0; < uint8_t lownib=(value<<4)&0xf0; < write4bits((highnib)|mode); < write4bits((lownib)|mode); --- > uint8_t highnib=value>>4; > uint8_t lownib=value & 0x0F; > write4bits((highnib)|mode); > write4bits((lownib)|mode); 248c243 < Wire.send((int)(_data) | _backlightval); --- > Wire.write((int)(_data) | _backlightval);