Andreas Schögler
/
GruppeA
ysetr
GruppeA.cpp
- Committer:
- AndreasSchoegler
- Date:
- 2015-06-16
- Revision:
- 1:bb1a9447ce78
- Parent:
- 0:74db8ce1771f
File content as of revision 1:bb1a9447ce78:
#include "mbed.h" InterruptIn iiUp(p15); Timer timer1; int los=0; int b=0; int text_neu = 0; BusOut doLeds(LED1,LED2,LED3,LED4); DigitalOut led1(LED1); DigitalOut led2(LED2); DigitalOut led3(LED3); DigitalOut led4(LED4); // global vars and objects Serial pc(USBTX, USBRX); // tx, rx ; is default !!! (9600, 8N1) char recChar=0; bool recFlag=false; char recArr[20]; int index=0; // functions void flushSerialBuffer() { while (pc.readable()) { pc.getc(); } } void error() { } void readData() { //if(los>=1) //{ recChar = pc.getc(); recArr[index] = recChar; index++; if ((recChar == '\r') || (index>=19)) { recFlag = true; recArr[index] = 0; float t = timer1.read_ms(); pc.printf(" - That's the input: %f L= %d %s\r\n", t,index,recArr); if(recArr[0] == 'A' || recArr[0] == 'a') { pc.printf("Aus"); doLeds=0; } else if(recArr[0] == 'e' || recArr[0] == 'E') { pc.printf("ein"); doLeds=15; } else if(recArr[0] == 'L' && recArr[3]== 'E') { switch (recArr[1]) { case '1': led1 =1; break; case '2': led2 =1; break; case '3': led3 =1; break; case '4': led4 =1; break; default: // fehlerausgabe break; } } else if(recArr[0] == 'L' && recArr[3]== 'A') { switch (recArr[1]) { case '1': led1 =0; break; case '2': led2 =0; break; case '3': led3 =0; break; case '4': led4 =0; break; default: // fehlerausgabe break; } } else { // Fehlerfall } index = 0; timer1.stop(); timer1.reset(); flushSerialBuffer(); los=0; b=0; //} } } void SendText() { pc.printf("Geben Sie ein Wort mit mindestens 5 und maximal 10 ein:"); timer1.start(); los=1; } int main() { pc.baud(115200); //pc.baud(38400); pc.format(8, SerialBase::Odd, 2); led2 = 1; flushSerialBuffer(); if(b>=0) { pc.printf("Programm Andreas Schoegler Gruppe2 \r\n"); b=1; } pc.attach(&readData); flushSerialBuffer(); if(text_neu>=0) { pc.printf("Bitte Steuer_string eingeben \r\n"); text_neu=1; } //iiUp.rise(&SendText); while(1) { if (recFlag) { flushSerialBuffer(); // pc.printf(" - That's the input: %s\r\n", recArr); // non reantrant function recFlag = false; //led2 = !led2; } } }