Henri Gomez
/
TestTextLCD
Test for LDC display
main.cpp@0:89eeddc7e25d, 2013-06-03 (annotated)
- Committer:
- hgomez
- Date:
- Mon Jun 03 21:12:17 2013 +0000
- Revision:
- 0:89eeddc7e25d
initial import
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
hgomez | 0:89eeddc7e25d | 1 | /* |
hgomez | 0:89eeddc7e25d | 2 | * http://mbed.org/cookbook/Text-LCD-Enhanced |
hgomez | 0:89eeddc7e25d | 3 | */ |
hgomez | 0:89eeddc7e25d | 4 | |
hgomez | 0:89eeddc7e25d | 5 | #include "mbed.h" |
hgomez | 0:89eeddc7e25d | 6 | #include "TextLCD.h" |
hgomez | 0:89eeddc7e25d | 7 | |
hgomez | 0:89eeddc7e25d | 8 | TextLCD lcd(p15, p16, p17, p18, p19, p20, TextLCD::LCD16x4); // |
hgomez | 0:89eeddc7e25d | 9 | |
hgomez | 0:89eeddc7e25d | 10 | int main() { |
hgomez | 0:89eeddc7e25d | 11 | |
hgomez | 0:89eeddc7e25d | 12 | pc.printf("LCD Test. Columns=%d, Rows=%d\n\r", lcd.columns(), lcd.rows()); |
hgomez | 0:89eeddc7e25d | 13 | |
hgomez | 0:89eeddc7e25d | 14 | for (int row=0; row<lcd.rows(); row++) { |
hgomez | 0:89eeddc7e25d | 15 | int col=0; |
hgomez | 0:89eeddc7e25d | 16 | |
hgomez | 0:89eeddc7e25d | 17 | pc.printf("MemAddr(Col=%d, Row=%d)=0x%02X\n\r", col, row, lcd.getAddress(col, row)); |
hgomez | 0:89eeddc7e25d | 18 | // lcd.putc('-'); |
hgomez | 0:89eeddc7e25d | 19 | lcd.putc('0' + row); |
hgomez | 0:89eeddc7e25d | 20 | |
hgomez | 0:89eeddc7e25d | 21 | for (col=1; col<lcd.columns()-1; col++) { |
hgomez | 0:89eeddc7e25d | 22 | lcd.putc('*'); |
hgomez | 0:89eeddc7e25d | 23 | } |
hgomez | 0:89eeddc7e25d | 24 | |
hgomez | 0:89eeddc7e25d | 25 | pc.printf("MemAddr(Col=%d, Row=%d)=0x%02X\n\r", col, row, lcd.getAddress(col, row)); |
hgomez | 0:89eeddc7e25d | 26 | lcd.putc('+'); |
hgomez | 0:89eeddc7e25d | 27 | |
hgomez | 0:89eeddc7e25d | 28 | } |
hgomez | 0:89eeddc7e25d | 29 | |
hgomez | 0:89eeddc7e25d | 30 | // Show cursor as blinking character |
hgomez | 0:89eeddc7e25d | 31 | lcd.setCursor(TextLCD::CurOff_BlkOn); |
hgomez | 0:89eeddc7e25d | 32 | |
hgomez | 0:89eeddc7e25d | 33 | // Set and show user defined characters. A maximum of 8 UDCs are supported by the HD44780. |
hgomez | 0:89eeddc7e25d | 34 | // They are defined by a 5x7 bitpattern. |
hgomez | 0:89eeddc7e25d | 35 | lcd.setUDC(0, (char *) udc_0); // Show |> |
hgomez | 0:89eeddc7e25d | 36 | lcd.putc(0); |
hgomez | 0:89eeddc7e25d | 37 | lcd.setUDC(1, (char *) udc_1); // Show <| |
hgomez | 0:89eeddc7e25d | 38 | lcd.putc(1); |
hgomez | 0:89eeddc7e25d | 39 | lcd.setUDC(2, (char *) udc_2); |
hgomez | 0:89eeddc7e25d | 40 | lcd.putc(2); |
hgomez | 0:89eeddc7e25d | 41 | lcd.setUDC(3, (char *) udc_3); |
hgomez | 0:89eeddc7e25d | 42 | lcd.putc(3); |
hgomez | 0:89eeddc7e25d | 43 | lcd.setUDC(4, (char *) udc_4); |
hgomez | 0:89eeddc7e25d | 44 | lcd.putc(4); |
hgomez | 0:89eeddc7e25d | 45 | lcd.setUDC(5, (char *) udc_5); |
hgomez | 0:89eeddc7e25d | 46 | lcd.putc(5); |
hgomez | 0:89eeddc7e25d | 47 | lcd.setUDC(6, (char *) udc_6); |
hgomez | 0:89eeddc7e25d | 48 | lcd.putc(6); |
hgomez | 0:89eeddc7e25d | 49 | lcd.setUDC(7, (char *) udc_7); |
hgomez | 0:89eeddc7e25d | 50 | lcd.putc(7); |
hgomez | 0:89eeddc7e25d | 51 | |
hgomez | 0:89eeddc7e25d | 52 | } |