a,b Gruppe B

Dependencies:   mbed

Committer:
Planinsec
Date:
Wed Jun 10 16:21:26 2015 +0000
Revision:
0:8a6f8b1df4ea
A+B_Gruppe B

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Planinsec 0:8a6f8b1df4ea 1 #include "mbed.h"
Planinsec 0:8a6f8b1df4ea 2
Planinsec 0:8a6f8b1df4ea 3
Planinsec 0:8a6f8b1df4ea 4 InterruptIn iiUp(p15);
Planinsec 0:8a6f8b1df4ea 5 //Timer timer1;
Planinsec 0:8a6f8b1df4ea 6 int los=0;
Planinsec 0:8a6f8b1df4ea 7
Planinsec 0:8a6f8b1df4ea 8 // global vars and objects
Planinsec 0:8a6f8b1df4ea 9 DigitalOut led2(LED2);
Planinsec 0:8a6f8b1df4ea 10 //DigitalOut ledAlle(LED1,LED2, LED3,LED4);
Planinsec 0:8a6f8b1df4ea 11 Serial pc(USBTX, USBRX); // tx, rx ; is default !!! (9600, 8N1)
Planinsec 0:8a6f8b1df4ea 12 char recChar=0;
Planinsec 0:8a6f8b1df4ea 13 bool recFlag=false;
Planinsec 0:8a6f8b1df4ea 14 char recArr[20];
Planinsec 0:8a6f8b1df4ea 15 int index=0;
Planinsec 0:8a6f8b1df4ea 16
Planinsec 0:8a6f8b1df4ea 17 // functions
Planinsec 0:8a6f8b1df4ea 18 void flushSerialBuffer()
Planinsec 0:8a6f8b1df4ea 19 {
Planinsec 0:8a6f8b1df4ea 20 while (pc.readable())
Planinsec 0:8a6f8b1df4ea 21 {
Planinsec 0:8a6f8b1df4ea 22 pc.getc();
Planinsec 0:8a6f8b1df4ea 23 }
Planinsec 0:8a6f8b1df4ea 24 }
Planinsec 0:8a6f8b1df4ea 25
Planinsec 0:8a6f8b1df4ea 26 void readData()
Planinsec 0:8a6f8b1df4ea 27 {
Planinsec 0:8a6f8b1df4ea 28
Planinsec 0:8a6f8b1df4ea 29 //recArr[index] = recChar;
Planinsec 0:8a6f8b1df4ea 30 if ( pc.readable()) //recChar == '\r') || (index>=19)
Planinsec 0:8a6f8b1df4ea 31 {
Planinsec 0:8a6f8b1df4ea 32 recChar = pc.getc();
Planinsec 0:8a6f8b1df4ea 33 //recFlag = true;
Planinsec 0:8a6f8b1df4ea 34 //recArr[index] = 0;
Planinsec 0:8a6f8b1df4ea 35 // float t = timer1.read_ms();
Planinsec 0:8a6f8b1df4ea 36 pc.printf(" - That's the input: \n",recArr);
Planinsec 0:8a6f8b1df4ea 37 //if(index<5)
Planinsec 0:8a6f8b1df4ea 38 //{
Planinsec 0:8a6f8b1df4ea 39 // pc.printf("Eingabe zu kurz ");
Planinsec 0:8a6f8b1df4ea 40 //}
Planinsec 0:8a6f8b1df4ea 41 //if(index>10)
Planinsec 0:8a6f8b1df4ea 42 //{
Planinsec 0:8a6f8b1df4ea 43 // pc.printf("Eingabe zu lang ");
Planinsec 0:8a6f8b1df4ea 44 //}
Planinsec 0:8a6f8b1df4ea 45 //index = 0;
Planinsec 0:8a6f8b1df4ea 46 flushSerialBuffer();
Planinsec 0:8a6f8b1df4ea 47 //los=0;
Planinsec 0:8a6f8b1df4ea 48 }
Planinsec 0:8a6f8b1df4ea 49
Planinsec 0:8a6f8b1df4ea 50 else
Planinsec 0:8a6f8b1df4ea 51 {
Planinsec 0:8a6f8b1df4ea 52 return;
Planinsec 0:8a6f8b1df4ea 53 }
Planinsec 0:8a6f8b1df4ea 54
Planinsec 0:8a6f8b1df4ea 55 }
Planinsec 0:8a6f8b1df4ea 56
Planinsec 0:8a6f8b1df4ea 57 void SendText()
Planinsec 0:8a6f8b1df4ea 58 {
Planinsec 0:8a6f8b1df4ea 59
Planinsec 0:8a6f8b1df4ea 60 pc.printf("Folgende Befehle werden ausgefuehrt:");
Planinsec 0:8a6f8b1df4ea 61 pc.printf("r oder R = alle LEDs aus\n");
Planinsec 0:8a6f8b1df4ea 62 pc.printf("s oder S = alle LEDs ein\n");
Planinsec 0:8a6f8b1df4ea 63 pc.printf("s,Lx = LED x ein (X=1...4\n");
Planinsec 0:8a6f8b1df4ea 64 pc.printf("r,Lx = LED x aus (X=1...4\n");
Planinsec 0:8a6f8b1df4ea 65 pc.printf("I=alle LEDs invertieren (leuchtende LEDs aus, dunkle LEDs ein)\n");
Planinsec 0:8a6f8b1df4ea 66 //timer1.start();
Planinsec 0:8a6f8b1df4ea 67 los=1;
Planinsec 0:8a6f8b1df4ea 68
Planinsec 0:8a6f8b1df4ea 69 }
Planinsec 0:8a6f8b1df4ea 70
Planinsec 0:8a6f8b1df4ea 71 int main() {
Planinsec 0:8a6f8b1df4ea 72 // pc.baud(115200);
Planinsec 0:8a6f8b1df4ea 73 pc.baud(38400);
Planinsec 0:8a6f8b1df4ea 74 pc.format(8, SerialBase::Odd, 2);
Planinsec 0:8a6f8b1df4ea 75 led2 = 1;
Planinsec 0:8a6f8b1df4ea 76
Planinsec 0:8a6f8b1df4ea 77 flushSerialBuffer();
Planinsec 0:8a6f8b1df4ea 78 pc.printf("Matthias Planinsec Gruppe B\r\n");
Planinsec 0:8a6f8b1df4ea 79
Planinsec 0:8a6f8b1df4ea 80
Planinsec 0:8a6f8b1df4ea 81 pc.attach(&readData);
Planinsec 0:8a6f8b1df4ea 82 SendText();
Planinsec 0:8a6f8b1df4ea 83
Planinsec 0:8a6f8b1df4ea 84 //iiUp.rise(&SendText);
Planinsec 0:8a6f8b1df4ea 85
Planinsec 0:8a6f8b1df4ea 86 while(1) {
Planinsec 0:8a6f8b1df4ea 87 if (recFlag) {
Planinsec 0:8a6f8b1df4ea 88 flushSerialBuffer();
Planinsec 0:8a6f8b1df4ea 89 // pc.printf(" - That's the input: %s\r\n", recArr); // non reantrant function
Planinsec 0:8a6f8b1df4ea 90 recFlag = false;
Planinsec 0:8a6f8b1df4ea 91 led2 = !led2;
Planinsec 0:8a6f8b1df4ea 92 }
Planinsec 0:8a6f8b1df4ea 93 }
Planinsec 0:8a6f8b1df4ea 94 }