TINF_Serial_Echo_7_5_2018

Dependencies:   mbed

Committer:
martwerl
Date:
Thu Nov 15 18:25:02 2018 +0000
Revision:
0:367e86dc699a
TINF_Serial_Echo_7_5_2018

Who changed what in which revision?

UserRevisionLine numberNew contents of line
martwerl 0:367e86dc699a 1 #include "mbed.h"
martwerl 0:367e86dc699a 2
martwerl 0:367e86dc699a 3 Serial pc(USBTX, USBRX); // tx, rx
martwerl 0:367e86dc699a 4 DigitalOut led1(LED1);
martwerl 0:367e86dc699a 5
martwerl 0:367e86dc699a 6 // Globale Variable
martwerl 0:367e86dc699a 7 char in[100];
martwerl 0:367e86dc699a 8 bool flag = false;
martwerl 0:367e86dc699a 9 //string eingabe;
martwerl 0:367e86dc699a 10 /*
martwerl 0:367e86dc699a 11 char in;
martwerl 0:367e86dc699a 12 bool flag = false;
martwerl 0:367e86dc699a 13 char instring[128];
martwerl 0:367e86dc699a 14 int counter = 0;
martwerl 0:367e86dc699a 15
martwerl 0:367e86dc699a 16 float brightness = 0.0;
martwerl 0:367e86dc699a 17
martwerl 0:367e86dc699a 18 void receive()
martwerl 0:367e86dc699a 19 {
martwerl 0:367e86dc699a 20 while (pc.readable()) {
martwerl 0:367e86dc699a 21
martwerl 0:367e86dc699a 22
martwerl 0:367e86dc699a 23 instring[counter] = pc.getc();
martwerl 0:367e86dc699a 24 counter++;
martwerl 0:367e86dc699a 25 }
martwerl 0:367e86dc699a 26 flag = true;
martwerl 0:367e86dc699a 27
martwerl 0:367e86dc699a 28 }
martwerl 0:367e86dc699a 29
martwerl 0:367e86dc699a 30 int main()
martwerl 0:367e86dc699a 31 {
martwerl 0:367e86dc699a 32 pc.attach(&receive);
martwerl 0:367e86dc699a 33
martwerl 0:367e86dc699a 34 while(1) {
martwerl 0:367e86dc699a 35
martwerl 0:367e86dc699a 36 if (flag) {
martwerl 0:367e86dc699a 37 //pc.putc(in);
martwerl 0:367e86dc699a 38 //strcpy(instring, "0");
martwerl 0:367e86dc699a 39 instring[counter+1]=0;
martwerl 0:367e86dc699a 40 pc.puts(instring);
martwerl 0:367e86dc699a 41 flag = false;
martwerl 0:367e86dc699a 42 counter=0;
martwerl 0:367e86dc699a 43 }
martwerl 0:367e86dc699a 44
martwerl 0:367e86dc699a 45 led2 = !led2;
martwerl 0:367e86dc699a 46 wait(0.2);
martwerl 0:367e86dc699a 47
martwerl 0:367e86dc699a 48 }
martwerl 0:367e86dc699a 49 }
martwerl 0:367e86dc699a 50
martwerl 0:367e86dc699a 51
martwerl 0:367e86dc699a 52
martwerl 0:367e86dc699a 53 */
martwerl 0:367e86dc699a 54
martwerl 0:367e86dc699a 55 void receive() // callback
martwerl 0:367e86dc699a 56 {
martwerl 0:367e86dc699a 57 // pc.putc(pc.getc()); // echo input back to terminal
martwerl 0:367e86dc699a 58 while (pc.readable())
martwerl 0:367e86dc699a 59 {
martwerl 0:367e86dc699a 60 in[100] = pc.getc();//Todo: char in ein Feld ablegen und aus diesem einen String machen
martwerl 0:367e86dc699a 61 // eingabe = in[100];
martwerl 0:367e86dc699a 62 }
martwerl 0:367e86dc699a 63 flag = true;
martwerl 0:367e86dc699a 64 }
martwerl 0:367e86dc699a 65
martwerl 0:367e86dc699a 66
martwerl 0:367e86dc699a 67 int main() {
martwerl 0:367e86dc699a 68 pc.attach(&receive);
martwerl 0:367e86dc699a 69
martwerl 0:367e86dc699a 70 pc.printf("Hello World!\n\r");//HTerm: Baudrate 9600, Port aussuchen, oben Newline at "CR+LF". Bei Drücken auf Reset erschkeint Hello World
martwerl 0:367e86dc699a 71 while(1)
martwerl 0:367e86dc699a 72 {
martwerl 0:367e86dc699a 73 if(flag)
martwerl 0:367e86dc699a 74 {
martwerl 0:367e86dc699a 75 //pc.putc(in);
martwerl 0:367e86dc699a 76 //Todo: mit puts den String ausgeben
martwerl 0:367e86dc699a 77 pc.puts(&in[100]);
martwerl 0:367e86dc699a 78 flag = false;
martwerl 0:367e86dc699a 79 }
martwerl 0:367e86dc699a 80 led1 = !led1;
martwerl 0:367e86dc699a 81 wait(0.2);
martwerl 0:367e86dc699a 82 }
martwerl 0:367e86dc699a 83 }