Aaryn Smith
/
LCDtest
main.cpp@0:e45d2abe27ff, 2010-01-13 (annotated)
- Committer:
- unixblackhole
- Date:
- Wed Jan 13 20:44:53 2010 +0000
- Revision:
- 0:e45d2abe27ff
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
unixblackhole | 0:e45d2abe27ff | 1 | #include "mbed.h" |
unixblackhole | 0:e45d2abe27ff | 2 | |
unixblackhole | 0:e45d2abe27ff | 3 | DigitalOut myled(LED1); |
unixblackhole | 0:e45d2abe27ff | 4 | Serial pc(USBTX, USBRX); |
unixblackhole | 0:e45d2abe27ff | 5 | Serial lcd(p13, p14); |
unixblackhole | 0:e45d2abe27ff | 6 | |
unixblackhole | 0:e45d2abe27ff | 7 | void clearLCD() { |
unixblackhole | 0:e45d2abe27ff | 8 | lcd.printf("%c%c",0xFE,0x01); |
unixblackhole | 0:e45d2abe27ff | 9 | } |
unixblackhole | 0:e45d2abe27ff | 10 | void setLCDpos(int xpos, int ypos) { |
unixblackhole | 0:e45d2abe27ff | 11 | int pos = 0x80; |
unixblackhole | 0:e45d2abe27ff | 12 | switch (xpos){ |
unixblackhole | 0:e45d2abe27ff | 13 | case 1: |
unixblackhole | 0:e45d2abe27ff | 14 | pos +=0; |
unixblackhole | 0:e45d2abe27ff | 15 | break; |
unixblackhole | 0:e45d2abe27ff | 16 | case 2: |
unixblackhole | 0:e45d2abe27ff | 17 | pos +=64; |
unixblackhole | 0:e45d2abe27ff | 18 | break; |
unixblackhole | 0:e45d2abe27ff | 19 | case 3: |
unixblackhole | 0:e45d2abe27ff | 20 | pos +=20; |
unixblackhole | 0:e45d2abe27ff | 21 | break; |
unixblackhole | 0:e45d2abe27ff | 22 | case 4: |
unixblackhole | 0:e45d2abe27ff | 23 | pos +=84; |
unixblackhole | 0:e45d2abe27ff | 24 | break; |
unixblackhole | 0:e45d2abe27ff | 25 | } |
unixblackhole | 0:e45d2abe27ff | 26 | pos += (ypos-1); |
unixblackhole | 0:e45d2abe27ff | 27 | lcd.printf("%c%c",0xFE,pos); |
unixblackhole | 0:e45d2abe27ff | 28 | } |
unixblackhole | 0:e45d2abe27ff | 29 | void setBrightness(int lev) { |
unixblackhole | 0:e45d2abe27ff | 30 | lcd.printf("%c%c",0x7C,lev+127); |
unixblackhole | 0:e45d2abe27ff | 31 | wait(.1); |
unixblackhole | 0:e45d2abe27ff | 32 | } |
unixblackhole | 0:e45d2abe27ff | 33 | int main() { |
unixblackhole | 0:e45d2abe27ff | 34 | wait(2); |
unixblackhole | 0:e45d2abe27ff | 35 | clearLCD(); |
unixblackhole | 0:e45d2abe27ff | 36 | unsigned int i=0; |
unixblackhole | 0:e45d2abe27ff | 37 | setLCDpos(1,1); |
unixblackhole | 0:e45d2abe27ff | 38 | lcd.printf("Hello, World!"); |
unixblackhole | 0:e45d2abe27ff | 39 | setLCDpos(2,1); |
unixblackhole | 0:e45d2abe27ff | 40 | lcd.printf("Led"); |
unixblackhole | 0:e45d2abe27ff | 41 | while (1) { |
unixblackhole | 0:e45d2abe27ff | 42 | wait(.2); |
unixblackhole | 0:e45d2abe27ff | 43 | i++; |
unixblackhole | 0:e45d2abe27ff | 44 | myled = !myled; |
unixblackhole | 0:e45d2abe27ff | 45 | setLCDpos(2,5); |
unixblackhole | 0:e45d2abe27ff | 46 | if (myled) { |
unixblackhole | 0:e45d2abe27ff | 47 | lcd.printf("On "); |
unixblackhole | 0:e45d2abe27ff | 48 | } else { |
unixblackhole | 0:e45d2abe27ff | 49 | lcd.printf("Off"); |
unixblackhole | 0:e45d2abe27ff | 50 | } |
unixblackhole | 0:e45d2abe27ff | 51 | setLCDpos(2,9); |
unixblackhole | 0:e45d2abe27ff | 52 | lcd.printf("#%7i",i); |
unixblackhole | 0:e45d2abe27ff | 53 | } |
unixblackhole | 0:e45d2abe27ff | 54 | } |