Simple Menu Program for the Application Board LCD

Dependencies:   C12832_lcd mbed

Committer:
bobarry
Date:
Sun Jan 12 03:05:34 2014 +0000
Revision:
0:386952ad9742
Going to publish it on mbed

Who changed what in which revision?

UserRevisionLine numberNew contents of line
bobarry 0:386952ad9742 1 // A simple menu program, displaying on the mbed Application Board
bobarry 0:386952ad9742 2 // Ideas on how to eliminate the 6 warnings would be appreciated!
bobarry 0:386952ad9742 3 // Bo Barry 1/11/2014 (My first 'published' program)
bobarry 0:386952ad9742 4
bobarry 0:386952ad9742 5
bobarry 0:386952ad9742 6 #include "mbed.h"
bobarry 0:386952ad9742 7 DigitalOut myled(LED1);
bobarry 0:386952ad9742 8 #include "C12832_lcd.h"
bobarry 0:386952ad9742 9 C12832_LCD lcd;
bobarry 0:386952ad9742 10 #include <stdio.h>
bobarry 0:386952ad9742 11
bobarry 0:386952ad9742 12 void load_menu(void);
bobarry 0:386952ad9742 13 void sum(void);
bobarry 0:386952ad9742 14 void rest(void);
bobarry 0:386952ad9742 15
bobarry 0:386952ad9742 16 int main(void)
bobarry 0:386952ad9742 17 {
bobarry 0:386952ad9742 18
bobarry 0:386952ad9742 19 lcd.locate(0,2);
bobarry 0:386952ad9742 20 lcd.cls();
bobarry 0:386952ad9742 21 lcd.printf("mbed Application Board!");
bobarry 0:386952ad9742 22 wait(2);
bobarry 0:386952ad9742 23 load_menu();
bobarry 0:386952ad9742 24 return 0;
bobarry 0:386952ad9742 25 }
bobarry 0:386952ad9742 26
bobarry 0:386952ad9742 27 void load_menu(void)
bobarry 0:386952ad9742 28 {
bobarry 0:386952ad9742 29 int choice;
bobarry 0:386952ad9742 30 do
bobarry 0:386952ad9742 31 {
bobarry 0:386952ad9742 32 lcd.locate(0,2);
bobarry 0:386952ad9742 33 lcd.cls();
bobarry 0:386952ad9742 34 lcd.printf("Menu\n");
bobarry 0:386952ad9742 35 lcd.printf("1. Sum 2. Rest 3. Exit\n");
bobarry 0:386952ad9742 36 scanf("%d",&choice);
bobarry 0:386952ad9742 37
bobarry 0:386952ad9742 38 switch(choice)
bobarry 0:386952ad9742 39 {
bobarry 0:386952ad9742 40 case 1: sum();
bobarry 0:386952ad9742 41 break;
bobarry 0:386952ad9742 42 case 2: rest();
bobarry 0:386952ad9742 43 break;
bobarry 0:386952ad9742 44 case 3:
bobarry 0:386952ad9742 45 lcd.locate(0,2);
bobarry 0:386952ad9742 46 lcd.cls();
bobarry 0:386952ad9742 47 lcd.printf("Quitting program!");
bobarry 0:386952ad9742 48 exit(0);
bobarry 0:386952ad9742 49 break;
bobarry 0:386952ad9742 50 default: lcd.printf("Invalid choice!");
bobarry 0:386952ad9742 51 break;
bobarry 0:386952ad9742 52 }
bobarry 0:386952ad9742 53
bobarry 0:386952ad9742 54 } while (choice != 3);
bobarry 0:386952ad9742 55
bobarry 0:386952ad9742 56 }
bobarry 0:386952ad9742 57
bobarry 0:386952ad9742 58 void sum(void)
bobarry 0:386952ad9742 59 {
bobarry 0:386952ad9742 60 int num1, num2;
bobarry 0:386952ad9742 61 // int ch;
bobarry 0:386952ad9742 62
bobarry 0:386952ad9742 63 printf("Enter number 1: ");
bobarry 0:386952ad9742 64 scanf("%d",&num1);
bobarry 0:386952ad9742 65 lcd.locate(0,2);
bobarry 0:386952ad9742 66 lcd.cls();
bobarry 0:386952ad9742 67 printf("Enter number 2: ");
bobarry 0:386952ad9742 68 scanf("%d",&num2);
bobarry 0:386952ad9742 69 lcd.locate(0,2);
bobarry 0:386952ad9742 70 lcd.cls();
bobarry 0:386952ad9742 71 printf("The sum of the numbers was: %d",num1+num2);
bobarry 0:386952ad9742 72 wait(2);
bobarry 0:386952ad9742 73
bobarry 0:386952ad9742 74 // Flushes input buffer from the newline from scanf()
bobarry 0:386952ad9742 75 // while ( (ch = getchar()) != '\n' && ch != EOF) ;
bobarry 0:386952ad9742 76 lcd.locate(0,2);
bobarry 0:386952ad9742 77 lcd.cls();
bobarry 0:386952ad9742 78 printf("Press ENTER to continue.");
bobarry 0:386952ad9742 79 // while ( (ch = getchar()) != '\n' && ch != EOF);
bobarry 0:386952ad9742 80 return;
bobarry 0:386952ad9742 81 }
bobarry 0:386952ad9742 82
bobarry 0:386952ad9742 83 void rest(void)
bobarry 0:386952ad9742 84 {
bobarry 0:386952ad9742 85 lcd.locate(0,2);
bobarry 0:386952ad9742 86 lcd.cls();
bobarry 0:386952ad9742 87 // int ch;
bobarry 0:386952ad9742 88 printf("Sleepy sleepy... zZZzZzZz\n");
bobarry 0:386952ad9742 89 wait(2);
bobarry 0:386952ad9742 90 printf("You now feel awake again!");
bobarry 0:386952ad9742 91 wait(2);
bobarry 0:386952ad9742 92 // Flushes input buffer
bobarry 0:386952ad9742 93 // while ((ch = getchar()) != '\n' && ch != EOF) ;
bobarry 0:386952ad9742 94
bobarry 0:386952ad9742 95 lcd.locate(0,2);
bobarry 0:386952ad9742 96 lcd.cls();
bobarry 0:386952ad9742 97 printf("Press ENTER to continue.");
bobarry 0:386952ad9742 98 // while ((ch = getchar()) != '\n' && ch != EOF);
bobarry 0:386952ad9742 99
bobarry 0:386952ad9742 100 return;
bobarry 0:386952ad9742 101 }