Código para o menu no LCD
Dependencies: mbed SDFileSystemSD TextLCD
Fork of TextLCD_HelloWorld2 by
Diff: main.cpp
- Revision:
- 1:ef419b21167d
- Parent:
- 0:a75049de1a82
- Child:
- 2:c2978a6fa79a
--- a/main.cpp Fri Jun 13 19:02:38 2014 +0000 +++ b/main.cpp Tue Jun 17 17:41:59 2014 +0000 @@ -21,7 +21,7 @@ pc.printf("B: Display Off\n\r"); pc.printf("C: Backlight On\n\r"); pc.printf("D: Backlight Off\n\r"); - pc.printf("P: \n\r"); + pc.printf("P: init \n\r"); pc.printf("\n\r"); } @@ -42,11 +42,11 @@ //TextLCD lcd(p15, p16, p17, p18, p19, p20, TextLCD::LCD24x2); // rs, e, d4-d7 =ok //TextLCD lcd(p15, p16, p17, p18, p19, p20, TextLCD::LCD40x2); // rs, e, d4-d7 =ok +//TextLCD_I2C lcd(&i2c_lcd, 0x40, TextLCD::LCD20x4); // I2C bus, PCF8574 Slaveaddress, LCD Type =ok //TextLCD_I2C lcd(&i2c_lcd, 0x42, TextLCD::LCD20x4); // I2C bus, PCF8574 Slaveaddress, LCD Type =ok -//TextLCD_I2C lcd(&i2c_lcd, 0x40, TextLCD::LCD20x4); // I2C bus, PCF8574 Slaveaddress, LCD Type =ok -//Test Adafruit module -//TextLCD_I2C lcd(&i2c_lcd, MCP23008_SA0, TextLCD::LCD20x4); // I2C bus, MCP23008 Slaveaddress, LCD Type =OK +//Test Adafruit module, change #define +TextLCD_I2C lcd(&i2c_lcd, MCP23008_SA0, TextLCD::LCD20x4); // I2C bus, MCP23008 Slaveaddress, LCD Type =OK //TextLCD_I2C lcd(&i2c_lcd, 0x42, TextLCD::LCD16x2, TextLCD::WS0010); // I2C bus, PCF8574 Slaveaddress, LCD Type, LCD Ctrl @@ -61,8 +61,14 @@ //TextLCD_SPI lcd2(&spi_lcd, p9, TextLCD::LCD16x1); // SPI bus, CS pin, LCD Type =ok //TextLCD_SPI lcd2(&spi_lcd, p9, TextLCD::LCD16x2); // SPI bus, CS pin, LCD Type (VFD) =ok +//TextLCD_SPI_N lcd(&spi_lcd, p8, p9, TextLCD::LCD16x2, NC, TextLCD::ST7032_3V3); // SPI bus, CS pin, RS pin, LCDType=LCD16x2, BL=NC, LCDTCtrl=ST7032 =ok +//TextLCD_I2C_N lcd(&i2c_lcd, ST7032_SA, TextLCD::LCD16x2, NC, TextLCD::ST7032_3V3); // I2C bus, slaveaddress, LCDType=LCD16x2, BL=NC, LCDTCtrl=ST7032 -TextLCD_SPI_N lcd(&spi_lcd, p8, p9, TextLCD::LCD16x2, NC, TextLCD::ST7032_3V3); // SPI bus, CS pin, RS pin, LCDType=LCD16x2, BL=NC, LCDTCtrl=ST7032 + +//TextLCD_I2C_N lcd(&i2c_lcd, PCF21XX_SA0, TextLCD::LCD12x3B, NC, TextLCD::PCF21XX_3V3); // I2C bus, slaveaddress, LCDType=LCD12x3B, BL=NC, LCDTCtrl=PCF21XX +//TextLCD_I2C_N lcd(&i2c_lcd, PCF21XX_SA0, TextLCD::LCD12x4B, NC, TextLCD::PCF21XX_3V3); // I2C bus, slaveaddress, LCDType=LCD12x4B, BL=NC, LCDTCtrl=PCF21XX +//TextLCD_I2C_N lcd(&i2c_lcd, PCF21XX_SA0, TextLCD::LCD24x1, NC, TextLCD::PCF21XX_3V3); // I2C bus, slaveaddress, LCDType=LCD24x1, BL=NC, LCDTCtrl=PCF21XX +//TextLCD_I2C_N lcd(&i2c_lcd, PCF21XX_SA0, TextLCD::LCD24x2, NC, TextLCD::PCF21XX_3V3); // I2C bus, slaveaddress, LCDType=LCD24x2, BL=NC, LCDTCtrl=PCF21XX int main() { // int i=0; @@ -96,19 +102,22 @@ lcd.setCursor(TextLCD::CurOff_BlkOn); -// lcd.setUDC(0, (char *) udc_AA); -// lcd.putc(0); +#if(0) + lcd.setUDC(0, (char *) udc_AA); + lcd.putc(0); -// lcd.setUDC(1, (char *) udc_0E); -// lcd.putc(1); + lcd.setUDC(1, (char *) udc_0E); + lcd.putc(1); -// lcd.setUDC(0, (char *) udc_0); -// lcd.putc(0); -// lcd.setUDC(1, (char *) udc_1); -// lcd.putc(1); -// lcd.setUDC(2, (char *) udc_2); -// lcd.putc(2); + lcd.setUDC(0, (char *) udc_0); + lcd.putc(0); + lcd.setUDC(1, (char *) udc_1); + lcd.putc(1); + lcd.setUDC(2, (char *) udc_2); + lcd.putc(2); +#endif +#if(1) lcd.setUDC(0, (char *) udc_Bat_Hi); lcd.setUDC(1, (char *) udc_Bat_Ha); lcd.setUDC(2, (char *) udc_Bat_Lo); @@ -117,6 +126,18 @@ lcd.setUDC(5, (char *) udc_5); lcd.setUDC(6, (char *) udc_6); lcd.setUDC(7, (char *) udc_7); +#endif + +#if(0) + lcd.setUDC(0, (char *) udc_ch_1); + lcd.setUDC(1, (char *) udc_ch_2); + lcd.setUDC(2, (char *) udc_ch_3); + lcd.setUDC(3, (char *) udc_ch_4); + lcd.setUDC(4, (char *) udc_ch_yr); + lcd.setUDC(5, (char *) udc_ch_mo); + lcd.setUDC(6, (char *) udc_ch_dy); + lcd.setUDC(7, (char *) udc_ch_mi); +#endif lcd.putc(0); lcd.putc(1); @@ -248,9 +269,37 @@ case '9' : pc.printf("Text\n\r"); - lcd.printf("Hello mbed\n"); + lcd.locate(0, 0); + lcd.printf(" Hello mbed\n"); + lcd.printf(" Native I2C\n"); // lcd2.printf("Hello mbed\n"); - + +#if(0) + // Needed for PCF2116C and PCF2116K + lcd.putc('H' ^ 0x80); + lcd.putc('e' ^ 0x80); + lcd.putc('l' ^ 0x80); + lcd.putc('l' ^ 0x80); + lcd.putc('o' ^ 0x80); + lcd.putc(' ' ^ 0x80); + lcd.putc('m' ^ 0x80); + lcd.putc('b' ^ 0x80); + lcd.putc('e' ^ 0x80); + lcd.putc('d' ^ 0x80); + lcd.putc('\n'); + lcd.putc('I' ^ 0x80); + lcd.putc('2' ^ 0x80); + lcd.putc('C' ^ 0x80); + lcd.putc(' ' ^ 0x80); + lcd.putc('P' ^ 0x80); + lcd.putc('C' ^ 0x80); + lcd.putc('F' ^ 0x80); + lcd.putc('2' ^ 0x80); + lcd.putc('1' ^ 0x80); + lcd.putc('1' ^ 0x80); + lcd.putc('6' ^ 0x80); +#endif + break; case 'A' : @@ -286,10 +335,14 @@ // } // break; - - + case 'P' : +//test + lcd._initCtrl(); + break; + default : lcd.putc(command); +// lcd.putc(command ^ 0x80); // Needed for PCF2116C and PCF2116K // lcd2.putc(command); break;