Testbespiel 1

Dependencies:   mbed

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers main.cpp Source File

main.cpp

00001 #include "mbed.h"
00002 #include "C12832.h"
00003 
00004 #define NORD 0
00005 #define OST 1
00006 #define WEST 2
00007 #define SUED 3
00008 #define FIRE 4
00009 
00010 C12832 lcd1(p5, p7, p6, p8, p11);
00011 Ticker lcdram;
00012 
00013 InterruptIn nord(p15);
00014 InterruptIn ost(p16);
00015 InterruptIn west(p13);
00016 InterruptIn sued(p12);
00017 InterruptIn fire(p14);
00018 
00019 int display = NORD;
00020 char buffer[6];
00021 
00022 void show()
00023 {
00024           lcd1.cls();
00025               switch(display)
00026                 {
00027                     case NORD:                      
00028                         sprintf(buffer, "NORD 0");                      
00029                         break;
00030                     case OST:                   
00031                         sprintf(buffer, "OST  1");
00032                         break;
00033                     case WEST:
00034                         sprintf(buffer, "WEST 2");
00035                         break;
00036                     case SUED:
00037                         sprintf(buffer, "SUED 3");
00038                         break;
00039                     default:
00040                           sprintf(buffer,  "FIRE 4");
00041                           break;
00042             }   
00043         lcd1.text(8,5,buffer,6,3);
00044         lcd1.rectangle(0,127,0,31); 
00045 }
00046 
00047 
00048 void isrnord()
00049 {
00050       display = NORD;
00051       show();
00052 }
00053 
00054 void isrost()
00055 {
00056       display = OST;
00057       show();
00058 }
00059 
00060 void isrwest()
00061 {
00062       display = WEST;
00063       show();
00064 }
00065 
00066 void isrsued()
00067 {
00068       display = SUED;
00069       show();
00070 }
00071 
00072 void isrfire()
00073 {
00074       display = FIRE;
00075       show();
00076 }
00077 
00078 void update()
00079 {
00080    lcd1.copy_to_lcd();
00081 }
00082 
00083 
00084 
00085 int main()
00086 {    
00087     lcdram.attach(&update,0.1); 
00088 
00089     nord.rise(&isrnord);
00090     ost.rise(&isrost);
00091     west.rise(&isrwest);
00092     sued.rise(&isrsued);
00093     fire.rise(&isrfire);
00094     
00095     lcd1.cls();   
00096     
00097     
00098     while(1)
00099     {
00100         
00101     }
00102 }