Gruppe_A

Dependencies:   mbed

Fork of GruppeA by Andreas Schögler

Committer:
AndreasSchoegler
Date:
Wed Jun 10 16:22:46 2015 +0000
Revision:
0:74db8ce1771f
Child:
1:bb1a9447ce78
y<df

Who changed what in which revision?

UserRevisionLine numberNew contents of line
AndreasSchoegler 0:74db8ce1771f 1 #include "mbed.h"
AndreasSchoegler 0:74db8ce1771f 2
AndreasSchoegler 0:74db8ce1771f 3
AndreasSchoegler 0:74db8ce1771f 4 InterruptIn iiUp(p15);
AndreasSchoegler 0:74db8ce1771f 5 Timer timer1;
AndreasSchoegler 0:74db8ce1771f 6 int los=0;
AndreasSchoegler 0:74db8ce1771f 7 int b=0;
AndreasSchoegler 0:74db8ce1771f 8 int text_neu = 0;
AndreasSchoegler 0:74db8ce1771f 9
AndreasSchoegler 0:74db8ce1771f 10 BusOut doLeds(LED1,LED2,LED3,LED4);
AndreasSchoegler 0:74db8ce1771f 11
AndreasSchoegler 0:74db8ce1771f 12 // global vars and objects
AndreasSchoegler 0:74db8ce1771f 13 DigitalOut led2(LED2);
AndreasSchoegler 0:74db8ce1771f 14 Serial pc(USBTX, USBRX); // tx, rx ; is default !!! (9600, 8N1)
AndreasSchoegler 0:74db8ce1771f 15 char recChar=0;
AndreasSchoegler 0:74db8ce1771f 16 bool recFlag=false;
AndreasSchoegler 0:74db8ce1771f 17 char recArr[20];
AndreasSchoegler 0:74db8ce1771f 18 int index=0;
AndreasSchoegler 0:74db8ce1771f 19
AndreasSchoegler 0:74db8ce1771f 20 // functions
AndreasSchoegler 0:74db8ce1771f 21 void flushSerialBuffer() {
AndreasSchoegler 0:74db8ce1771f 22 while (pc.readable()) {
AndreasSchoegler 0:74db8ce1771f 23 pc.getc();
AndreasSchoegler 0:74db8ce1771f 24 }
AndreasSchoegler 0:74db8ce1771f 25 }
AndreasSchoegler 0:74db8ce1771f 26
AndreasSchoegler 0:74db8ce1771f 27 void readData() {
AndreasSchoegler 0:74db8ce1771f 28
AndreasSchoegler 0:74db8ce1771f 29 //if(los>=1)
AndreasSchoegler 0:74db8ce1771f 30 //{
AndreasSchoegler 0:74db8ce1771f 31 recChar = pc.getc();
AndreasSchoegler 0:74db8ce1771f 32 recArr[index] = recChar;
AndreasSchoegler 0:74db8ce1771f 33 index++;
AndreasSchoegler 0:74db8ce1771f 34 if ((recChar == '\r') || (index>=19)) {
AndreasSchoegler 0:74db8ce1771f 35 recFlag = true;
AndreasSchoegler 0:74db8ce1771f 36 recArr[index] = 0;
AndreasSchoegler 0:74db8ce1771f 37
AndreasSchoegler 0:74db8ce1771f 38 float t = timer1.read_ms();
AndreasSchoegler 0:74db8ce1771f 39 pc.printf(" - That's the input: %f L= %d %s\r\n", t,index,recArr);
AndreasSchoegler 0:74db8ce1771f 40 if(recArr[0] == 'A' || recArr[0] == 'a')
AndreasSchoegler 0:74db8ce1771f 41 {
AndreasSchoegler 0:74db8ce1771f 42 pc.printf("Aus");
AndreasSchoegler 0:74db8ce1771f 43 doLeds=0;
AndreasSchoegler 0:74db8ce1771f 44
AndreasSchoegler 0:74db8ce1771f 45
AndreasSchoegler 0:74db8ce1771f 46
AndreasSchoegler 0:74db8ce1771f 47 }
AndreasSchoegler 0:74db8ce1771f 48 if(recArr[0] == 'e' || recArr[0] == 'E')
AndreasSchoegler 0:74db8ce1771f 49 {
AndreasSchoegler 0:74db8ce1771f 50 pc.printf("ein");
AndreasSchoegler 0:74db8ce1771f 51 doLeds=15;
AndreasSchoegler 0:74db8ce1771f 52
AndreasSchoegler 0:74db8ce1771f 53
AndreasSchoegler 0:74db8ce1771f 54
AndreasSchoegler 0:74db8ce1771f 55 }
AndreasSchoegler 0:74db8ce1771f 56
AndreasSchoegler 0:74db8ce1771f 57
AndreasSchoegler 0:74db8ce1771f 58 if(recArr[0] == 'L')
AndreasSchoegler 0:74db8ce1771f 59 {
AndreasSchoegler 0:74db8ce1771f 60
AndreasSchoegler 0:74db8ce1771f 61
AndreasSchoegler 0:74db8ce1771f 62
AndreasSchoegler 0:74db8ce1771f 63
AndreasSchoegler 0:74db8ce1771f 64
AndreasSchoegler 0:74db8ce1771f 65
AndreasSchoegler 0:74db8ce1771f 66 }
AndreasSchoegler 0:74db8ce1771f 67
AndreasSchoegler 0:74db8ce1771f 68
AndreasSchoegler 0:74db8ce1771f 69
AndreasSchoegler 0:74db8ce1771f 70
AndreasSchoegler 0:74db8ce1771f 71
AndreasSchoegler 0:74db8ce1771f 72 index = 0;
AndreasSchoegler 0:74db8ce1771f 73 timer1.stop();
AndreasSchoegler 0:74db8ce1771f 74 timer1.reset();
AndreasSchoegler 0:74db8ce1771f 75 flushSerialBuffer();
AndreasSchoegler 0:74db8ce1771f 76 los=0;
AndreasSchoegler 0:74db8ce1771f 77
AndreasSchoegler 0:74db8ce1771f 78 //}
AndreasSchoegler 0:74db8ce1771f 79 }
AndreasSchoegler 0:74db8ce1771f 80 }
AndreasSchoegler 0:74db8ce1771f 81
AndreasSchoegler 0:74db8ce1771f 82 void SendText()
AndreasSchoegler 0:74db8ce1771f 83 {
AndreasSchoegler 0:74db8ce1771f 84
AndreasSchoegler 0:74db8ce1771f 85 pc.printf("Geben Sie ein Wort mit mindestens 5 und maximal 10 ein:");
AndreasSchoegler 0:74db8ce1771f 86 timer1.start();
AndreasSchoegler 0:74db8ce1771f 87 los=1;
AndreasSchoegler 0:74db8ce1771f 88
AndreasSchoegler 0:74db8ce1771f 89 }
AndreasSchoegler 0:74db8ce1771f 90
AndreasSchoegler 0:74db8ce1771f 91 int main() {
AndreasSchoegler 0:74db8ce1771f 92 pc.baud(115200);
AndreasSchoegler 0:74db8ce1771f 93 //pc.baud(38400);
AndreasSchoegler 0:74db8ce1771f 94 pc.format(8, SerialBase::Odd, 2);
AndreasSchoegler 0:74db8ce1771f 95 led2 = 1;
AndreasSchoegler 0:74db8ce1771f 96
AndreasSchoegler 0:74db8ce1771f 97 flushSerialBuffer();
AndreasSchoegler 0:74db8ce1771f 98 if(b>=0)
AndreasSchoegler 0:74db8ce1771f 99 {
AndreasSchoegler 0:74db8ce1771f 100 pc.printf("Programm Andreas Schögler Gruppe2 \r\n");
AndreasSchoegler 0:74db8ce1771f 101 b=1;
AndreasSchoegler 0:74db8ce1771f 102 }
AndreasSchoegler 0:74db8ce1771f 103
AndreasSchoegler 0:74db8ce1771f 104 pc.attach(&readData);
AndreasSchoegler 0:74db8ce1771f 105
AndreasSchoegler 0:74db8ce1771f 106 flushSerialBuffer();
AndreasSchoegler 0:74db8ce1771f 107 if(text_neu>=0)
AndreasSchoegler 0:74db8ce1771f 108 {
AndreasSchoegler 0:74db8ce1771f 109 pc.printf("Bitte Steuer_string eingeben \r\n");
AndreasSchoegler 0:74db8ce1771f 110 text_neu=1;
AndreasSchoegler 0:74db8ce1771f 111 }
AndreasSchoegler 0:74db8ce1771f 112
AndreasSchoegler 0:74db8ce1771f 113
AndreasSchoegler 0:74db8ce1771f 114 //iiUp.rise(&SendText);
AndreasSchoegler 0:74db8ce1771f 115
AndreasSchoegler 0:74db8ce1771f 116
AndreasSchoegler 0:74db8ce1771f 117
AndreasSchoegler 0:74db8ce1771f 118 while(1) {
AndreasSchoegler 0:74db8ce1771f 119 if (recFlag) {
AndreasSchoegler 0:74db8ce1771f 120 flushSerialBuffer();
AndreasSchoegler 0:74db8ce1771f 121 // pc.printf(" - That's the input: %s\r\n", recArr); // non reantrant function
AndreasSchoegler 0:74db8ce1771f 122 recFlag = false;
AndreasSchoegler 0:74db8ce1771f 123 //led2 = !led2;
AndreasSchoegler 0:74db8ce1771f 124 }
AndreasSchoegler 0:74db8ce1771f 125 }
AndreasSchoegler 0:74db8ce1771f 126 }