bo barry
/
Menu
Simple Menu Program for the Application Board LCD
main.cpp@0:386952ad9742, 2014-01-12 (annotated)
- 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?
User | Revision | Line number | New 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 | } |