![](/media/cache/group/default_image.jpg.50x50_q85.jpg)
LCD
Fork of KS0066U4_16x2 by
main.cpp@4:279192a7a5e3, 2015-10-15 (annotated)
- Committer:
- madmonkeyman82
- Date:
- Thu Oct 15 16:00:29 2015 +0000
- Revision:
- 4:279192a7a5e3
- Parent:
- 3:81d65a2a1920
first;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
rlanghbv | 1:be0ba4cb6c5d | 1 | #include "mbed.h" |
rlanghbv | 1:be0ba4cb6c5d | 2 | #include "TextLCD.h" |
rlanghbv | 1:be0ba4cb6c5d | 3 | |
madmonkeyman82 | 4:279192a7a5e3 | 4 | TextLCD lcd(D11,D10,D9,D5,D4,D3,D2); |
madmonkeyman82 | 4:279192a7a5e3 | 5 | |
madmonkeyman82 | 4:279192a7a5e3 | 6 | InterruptIn MenuButton(USER_BUTTON); |
rlanghbv | 1:be0ba4cb6c5d | 7 | |
madmonkeyman82 | 4:279192a7a5e3 | 8 | //Variables |
madmonkeyman82 | 4:279192a7a5e3 | 9 | static char cMessageToLcdDisplay[80]; // variables to store message from serial |
madmonkeyman82 | 4:279192a7a5e3 | 10 | static bool blink = false; |
madmonkeyman82 | 4:279192a7a5e3 | 11 | static int menu = 0; |
madmonkeyman82 | 4:279192a7a5e3 | 12 | |
madmonkeyman82 | 4:279192a7a5e3 | 13 | //Prototypes |
madmonkeyman82 | 4:279192a7a5e3 | 14 | void BlinkCursor(bool); |
madmonkeyman82 | 4:279192a7a5e3 | 15 | void ClearDisplay(); |
madmonkeyman82 | 4:279192a7a5e3 | 16 | void GetMessageFromSerial(); |
madmonkeyman82 | 4:279192a7a5e3 | 17 | void PrintToLcd(); |
madmonkeyman82 | 4:279192a7a5e3 | 18 | |
madmonkeyman82 | 4:279192a7a5e3 | 19 | void trigger() |
madmonkeyman82 | 4:279192a7a5e3 | 20 | { |
madmonkeyman82 | 4:279192a7a5e3 | 21 | switch (menu) |
madmonkeyman82 | 4:279192a7a5e3 | 22 | { |
madmonkeyman82 | 4:279192a7a5e3 | 23 | case 0: |
madmonkeyman82 | 4:279192a7a5e3 | 24 | { |
madmonkeyman82 | 4:279192a7a5e3 | 25 | ClearDisplay(); |
madmonkeyman82 | 4:279192a7a5e3 | 26 | lcd.printf("Meny 1"); |
madmonkeyman82 | 4:279192a7a5e3 | 27 | printf("Du er na i meny %d\r\n", menu +1); |
madmonkeyman82 | 4:279192a7a5e3 | 28 | menu++; |
madmonkeyman82 | 4:279192a7a5e3 | 29 | break; |
madmonkeyman82 | 4:279192a7a5e3 | 30 | } |
madmonkeyman82 | 4:279192a7a5e3 | 31 | |
madmonkeyman82 | 4:279192a7a5e3 | 32 | case 1: |
madmonkeyman82 | 4:279192a7a5e3 | 33 | { |
madmonkeyman82 | 4:279192a7a5e3 | 34 | ClearDisplay(); |
madmonkeyman82 | 4:279192a7a5e3 | 35 | lcd.printf("Meny 2"); |
madmonkeyman82 | 4:279192a7a5e3 | 36 | printf("Du er na i meny %d\r\n", menu +1); |
madmonkeyman82 | 4:279192a7a5e3 | 37 | menu++; |
madmonkeyman82 | 4:279192a7a5e3 | 38 | break; |
madmonkeyman82 | 4:279192a7a5e3 | 39 | } |
madmonkeyman82 | 4:279192a7a5e3 | 40 | |
madmonkeyman82 | 4:279192a7a5e3 | 41 | case 2: |
madmonkeyman82 | 4:279192a7a5e3 | 42 | { |
madmonkeyman82 | 4:279192a7a5e3 | 43 | ClearDisplay(); |
madmonkeyman82 | 4:279192a7a5e3 | 44 | lcd.printf("Meny 3"); |
madmonkeyman82 | 4:279192a7a5e3 | 45 | printf("Du er na i meny %d\r\n", menu +1); |
madmonkeyman82 | 4:279192a7a5e3 | 46 | menu = 0; |
madmonkeyman82 | 4:279192a7a5e3 | 47 | break; |
madmonkeyman82 | 4:279192a7a5e3 | 48 | } |
madmonkeyman82 | 4:279192a7a5e3 | 49 | } |
madmonkeyman82 | 4:279192a7a5e3 | 50 | /* |
madmonkeyman82 | 4:279192a7a5e3 | 51 | if(blink) |
madmonkeyman82 | 4:279192a7a5e3 | 52 | { |
madmonkeyman82 | 4:279192a7a5e3 | 53 | BlinkCursor(false); |
madmonkeyman82 | 4:279192a7a5e3 | 54 | blink = false; |
madmonkeyman82 | 4:279192a7a5e3 | 55 | } |
madmonkeyman82 | 4:279192a7a5e3 | 56 | else |
madmonkeyman82 | 4:279192a7a5e3 | 57 | { |
madmonkeyman82 | 4:279192a7a5e3 | 58 | BlinkCursor(true); |
madmonkeyman82 | 4:279192a7a5e3 | 59 | blink = true; |
madmonkeyman82 | 4:279192a7a5e3 | 60 | } |
madmonkeyman82 | 4:279192a7a5e3 | 61 | */ |
madmonkeyman82 | 4:279192a7a5e3 | 62 | } |
madmonkeyman82 | 4:279192a7a5e3 | 63 | |
madmonkeyman82 | 4:279192a7a5e3 | 64 | int main() |
madmonkeyman82 | 4:279192a7a5e3 | 65 | { |
madmonkeyman82 | 4:279192a7a5e3 | 66 | MenuButton.rise(&trigger); |
rlanghbv | 3:81d65a2a1920 | 67 | |
madmonkeyman82 | 4:279192a7a5e3 | 68 | while(1) |
madmonkeyman82 | 4:279192a7a5e3 | 69 | { |
madmonkeyman82 | 4:279192a7a5e3 | 70 | printf("Velkommen skriv inn tekst som skal vises pa lcd skejerm.\r\n"); |
madmonkeyman82 | 4:279192a7a5e3 | 71 | |
madmonkeyman82 | 4:279192a7a5e3 | 72 | GetMessageFromSerial(); |
madmonkeyman82 | 4:279192a7a5e3 | 73 | |
madmonkeyman82 | 4:279192a7a5e3 | 74 | ClearDisplay(); |
madmonkeyman82 | 4:279192a7a5e3 | 75 | |
madmonkeyman82 | 4:279192a7a5e3 | 76 | wait_ms(2); |
madmonkeyman82 | 4:279192a7a5e3 | 77 | |
madmonkeyman82 | 4:279192a7a5e3 | 78 | PrintToLcd(); |
madmonkeyman82 | 4:279192a7a5e3 | 79 | |
madmonkeyman82 | 4:279192a7a5e3 | 80 | BlinkCursor(true); |
madmonkeyman82 | 4:279192a7a5e3 | 81 | |
madmonkeyman82 | 4:279192a7a5e3 | 82 | /* |
madmonkeyman82 | 4:279192a7a5e3 | 83 | lcd.gotoxy(1,1); |
madmonkeyman82 | 4:279192a7a5e3 | 84 | lcd.printf("Nr: %d", iCounter); |
madmonkeyman82 | 4:279192a7a5e3 | 85 | lcd.gotoxy(1,2); |
madmonkeyman82 | 4:279192a7a5e3 | 86 | lcd.printf("Nr: %d", iCounter+1); |
madmonkeyman82 | 4:279192a7a5e3 | 87 | iCounter++; |
madmonkeyman82 | 4:279192a7a5e3 | 88 | ClearDisplay(); |
madmonkeyman82 | 4:279192a7a5e3 | 89 | wait_ms(500); |
madmonkeyman82 | 4:279192a7a5e3 | 90 | */ |
rlanghbv | 0:92dd50c69b90 | 91 | } |
madmonkeyman82 | 4:279192a7a5e3 | 92 | } |
madmonkeyman82 | 4:279192a7a5e3 | 93 | |
madmonkeyman82 | 4:279192a7a5e3 | 94 | |
madmonkeyman82 | 4:279192a7a5e3 | 95 | void BlinkCursor(bool OnOff) |
madmonkeyman82 | 4:279192a7a5e3 | 96 | { |
madmonkeyman82 | 4:279192a7a5e3 | 97 | if(OnOff)lcd.lcdCommand(0x0F); |
madmonkeyman82 | 4:279192a7a5e3 | 98 | else lcd.lcdCommand(0x0C); |
madmonkeyman82 | 4:279192a7a5e3 | 99 | } |
madmonkeyman82 | 4:279192a7a5e3 | 100 | |
madmonkeyman82 | 4:279192a7a5e3 | 101 | void ClearDisplay() |
madmonkeyman82 | 4:279192a7a5e3 | 102 | { |
madmonkeyman82 | 4:279192a7a5e3 | 103 | lcd.lcdCommand(0x01); |
madmonkeyman82 | 4:279192a7a5e3 | 104 | wait_ms(2); |
madmonkeyman82 | 4:279192a7a5e3 | 105 | } |
madmonkeyman82 | 4:279192a7a5e3 | 106 | |
madmonkeyman82 | 4:279192a7a5e3 | 107 | void GetMessageFromSerial() |
madmonkeyman82 | 4:279192a7a5e3 | 108 | { |
madmonkeyman82 | 4:279192a7a5e3 | 109 | scanf("%[^\r\n]s", cMessageToLcdDisplay); |
madmonkeyman82 | 4:279192a7a5e3 | 110 | getchar(); |
madmonkeyman82 | 4:279192a7a5e3 | 111 | } |
madmonkeyman82 | 4:279192a7a5e3 | 112 | |
madmonkeyman82 | 4:279192a7a5e3 | 113 | void PrintToLcd() |
madmonkeyman82 | 4:279192a7a5e3 | 114 | { |
madmonkeyman82 | 4:279192a7a5e3 | 115 | lcd.printf(cMessageToLcdDisplay); |
madmonkeyman82 | 4:279192a7a5e3 | 116 | } |