Martin Werluschnig
/
TINF_Serial_Echo_7_5_2018
TINF_Serial_Echo_7_5_2018
main.cpp@0:367e86dc699a, 2018-11-15 (annotated)
- 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?
User | Revision | Line number | New 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 | } |