TESTE

Dependencies:   TextLCD mbed

Committer:
henriquer
Date:
Fri Nov 18 12:29:44 2022 +0000
Revision:
5:be6d331f81c1
Parent:
4:a3e4bb2053cb
TESTE LCD

Who changed what in which revision?

UserRevisionLine numberNew contents of line
wim 4:a3e4bb2053cb 1 /* Hello World! for the TextLCD Enhanced Library*/
wim 0:a75049de1a82 2
wim 0:a75049de1a82 3 #include "mbed.h"
wim 0:a75049de1a82 4 #include "TextLCD.h"
wim 4:a3e4bb2053cb 5
wim 0:a75049de1a82 6 // Host PC Communication channels
wim 0:a75049de1a82 7 Serial pc(USBTX, USBRX); // tx, rx
wim 4:a3e4bb2053cb 8
wim 0:a75049de1a82 9 // I2C Communication
henriquer 5:be6d331f81c1 10 I2C i2c_lcd(D15,D14); // SDA, SCL
wim 4:a3e4bb2053cb 11 //I2C i2c_lcd(p28,p27); // SDA, SCL
wim 4:a3e4bb2053cb 12
wim 0:a75049de1a82 13 // SPI Communication
henriquer 5:be6d331f81c1 14 //SPI spi_lcd(p5, NC, p7); // MOSI, MISO, SCLK
wim 0:a75049de1a82 15
wim 4:a3e4bb2053cb 16 // LCD instantiation
wim 4:a3e4bb2053cb 17 //TextLCD lcd(p15, p16, p17, p18, p19, p20, TextLCD::LCD20x2); // 4bit bus: rs, e, d4-d7
henriquer 5:be6d331f81c1 18 TextLCD_I2C lcd(&i2c_lcd, 0x7E, TextLCD::LCD20x4); // I2C exp: I2C bus, PCF8574 Slaveaddress, LCD Type
henriquer 5:be6d331f81c1 19 //TextLCD_I2C lcd(&i2c_lcd, 0x7E, TextLCD::LCD16x2, TextLCD::HD44780); // I2C exp: I2C bus, PCF8574 Slaveaddress, LCD Type, Ctrl Type
wim 4:a3e4bb2053cb 20 //TextLCD_I2C lcd(&spi_lcd, p8, TextLCD::LCD24x4D); // I2C exp: SPI bus, CS pin, LCD Type
wim 4:a3e4bb2053cb 21 //TextLCD_SPI_N lcd(&spi_lcd, p8, p9, TextLCD::LCD16x2, NC, TextLCD::ST7032_3V3); // SPI native: SPI bus, CS pin, RS pin, LCDType=LCD16x2, BL=NC, LCDTCtrl=ST7032
wim 4:a3e4bb2053cb 22 //TextLCD_I2C_N lcd(&i2c_lcd, ST7032_SA, TextLCD::LCD16x2, NC, TextLCD::ST7032_3V3); // I2C native: I2C bus, slaveaddress, LCDType=LCD16x2, BL=NC, LCDTCtrl=ST7032 =Ok
wim 4:a3e4bb2053cb 23 //TextLCD_I2C_N lcd(&i2c_lcd, SSD1803_SA1, TextLCD::LCD20x4D, NC, TextLCD::SSD1803_3V3); // I2C native: I2C bus, slaveaddress, LCDType=LCD20x4D, BL=NC, LCDTCtrl=SSD1803 =Ok
wim 4:a3e4bb2053cb 24
wim 4:a3e4bb2053cb 25 int main() {
wim 4:a3e4bb2053cb 26 Timer t;
wim 0:a75049de1a82 27
wim 4:a3e4bb2053cb 28 pc.printf("TextLCD Enhanced Test. Columns=%d, Rows=%d\n\r", lcd.columns(), lcd.rows());
wim 4:a3e4bb2053cb 29
wim 4:a3e4bb2053cb 30 for (int row=0; row<lcd.rows(); row++) {
wim 4:a3e4bb2053cb 31 int col=0;
wim 4:a3e4bb2053cb 32
wim 4:a3e4bb2053cb 33 pc.printf("MemAddr(Col=%d, Row=%d)=0x%02X\n\r", col, row, lcd.getAddress(col, row));
wim 4:a3e4bb2053cb 34 // lcd.putc('-');
wim 4:a3e4bb2053cb 35 lcd.putc('0' + row);
wim 4:a3e4bb2053cb 36
wim 4:a3e4bb2053cb 37 for (col=1; col<lcd.columns()-1; col++) {
wim 4:a3e4bb2053cb 38 lcd.putc('*');
wim 4:a3e4bb2053cb 39 }
wim 4:a3e4bb2053cb 40
wim 4:a3e4bb2053cb 41 pc.printf("MemAddr(Col=%d, Row=%d)=0x%02X\n\r", col, row, lcd.getAddress(col, row));
wim 4:a3e4bb2053cb 42 lcd.putc('+');
wim 4:a3e4bb2053cb 43 }
wim 0:a75049de1a82 44
wim 4:a3e4bb2053cb 45 // Fill screen again and time it
wim 4:a3e4bb2053cb 46 t.start();
wim 3:f238b4f7874f 47
wim 4:a3e4bb2053cb 48 for (int row=0; row<lcd.rows(); row++) {
wim 4:a3e4bb2053cb 49 int col=0;
wim 4:a3e4bb2053cb 50
wim 4:a3e4bb2053cb 51 lcd.putc('0' + row);
wim 4:a3e4bb2053cb 52
wim 4:a3e4bb2053cb 53 for (col=1; col<lcd.columns()-1; col++) {
wim 4:a3e4bb2053cb 54 lcd.putc('*');
wim 4:a3e4bb2053cb 55 }
wim 4:a3e4bb2053cb 56
wim 4:a3e4bb2053cb 57 lcd.putc('+');
wim 4:a3e4bb2053cb 58 }
wim 4:a3e4bb2053cb 59 t.stop();
wim 4:a3e4bb2053cb 60 pc.printf("All my hard work took %f sec\r\n", t.read());
wim 1:ef419b21167d 61
wim 4:a3e4bb2053cb 62 // Show cursor as blinking character
wim 4:a3e4bb2053cb 63 lcd.setCursor(TextLCD::CurOff_BlkOn);
wim 4:a3e4bb2053cb 64
wim 4:a3e4bb2053cb 65 // Set and show user defined characters. A maximum of 8 UDCs are supported by the HD44780.
wim 4:a3e4bb2053cb 66 // They are defined by a 5x7 bitpattern.
wim 4:a3e4bb2053cb 67 lcd.setUDC(0, (char *) udc_0); // Show |>
wim 4:a3e4bb2053cb 68 lcd.putc(0);
wim 4:a3e4bb2053cb 69 lcd.setUDC(1, (char *) udc_1); // Show <|
wim 4:a3e4bb2053cb 70 lcd.putc(1);
wim 4:a3e4bb2053cb 71
wim 4:a3e4bb2053cb 72 pc.printf("Bye now\r\n");
wim 4:a3e4bb2053cb 73 }
wim 3:f238b4f7874f 74
wim 3:f238b4f7874f 75
wim 0:a75049de1a82 76