ABELI2019
/
Serial_PC_Protocol
Example Protocol Serial-PC-Communication ToDo: make it better:-)
main.cpp@0:42484fbe5151, 2020-02-03 (annotated)
- Committer:
- fpucher
- Date:
- Mon Feb 03 10:09:18 2020 +0000
- Revision:
- 0:42484fbe5151
RS232 Protocol Serial-PC-Communication
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
fpucher | 0:42484fbe5151 | 1 | #include "mbed.h" |
fpucher | 0:42484fbe5151 | 2 | #include "LM75B.h" |
fpucher | 0:42484fbe5151 | 3 | |
fpucher | 0:42484fbe5151 | 4 | #define STR_MAX 10 |
fpucher | 0:42484fbe5151 | 5 | DigitalOut led1(LED1); |
fpucher | 0:42484fbe5151 | 6 | DigitalOut led2(LED2); |
fpucher | 0:42484fbe5151 | 7 | DigitalOut led3(LED3); |
fpucher | 0:42484fbe5151 | 8 | DigitalOut led4(LED4); |
fpucher | 0:42484fbe5151 | 9 | |
fpucher | 0:42484fbe5151 | 10 | Serial pc(USBTX, USBRX); |
fpucher | 0:42484fbe5151 | 11 | LM75B sensor(p28, p27); |
fpucher | 0:42484fbe5151 | 12 | |
fpucher | 0:42484fbe5151 | 13 | char str[STR_MAX]; |
fpucher | 0:42484fbe5151 | 14 | char str2[STR_MAX]; |
fpucher | 0:42484fbe5151 | 15 | int index=0; |
fpucher | 0:42484fbe5151 | 16 | |
fpucher | 0:42484fbe5151 | 17 | int main() |
fpucher | 0:42484fbe5151 | 18 | { |
fpucher | 0:42484fbe5151 | 19 | float fwert = 12.23; |
fpucher | 0:42484fbe5151 | 20 | char key1[] = "1"; |
fpucher | 0:42484fbe5151 | 21 | char key2[] = "2"; |
fpucher | 0:42484fbe5151 | 22 | char key3[] = "3"; |
fpucher | 0:42484fbe5151 | 23 | char key4[] = "D"; |
fpucher | 0:42484fbe5151 | 24 | char keyR[] = "RD"; |
fpucher | 0:42484fbe5151 | 25 | char keyW[] = "FWR"; |
fpucher | 0:42484fbe5151 | 26 | char keyX[] = "IXX"; |
fpucher | 0:42484fbe5151 | 27 | char keyZ[] = "TA"; |
fpucher | 0:42484fbe5151 | 28 | sensor.open(); |
fpucher | 0:42484fbe5151 | 29 | while (1) { |
fpucher | 0:42484fbe5151 | 30 | led1 = !led1; |
fpucher | 0:42484fbe5151 | 31 | pc.scanf("%s", str); |
fpucher | 0:42484fbe5151 | 32 | if(!strcmp(str, key1)) { |
fpucher | 0:42484fbe5151 | 33 | //led1=!led1; |
fpucher | 0:42484fbe5151 | 34 | } else if(!strcmp(str, key2)) { |
fpucher | 0:42484fbe5151 | 35 | led2=!led2; |
fpucher | 0:42484fbe5151 | 36 | } else if(!strcmp(str, key3)) { |
fpucher | 0:42484fbe5151 | 37 | led3=!led3; |
fpucher | 0:42484fbe5151 | 38 | } else if(!strcmp(str, key4)) { |
fpucher | 0:42484fbe5151 | 39 | led4=!led4; |
fpucher | 0:42484fbe5151 | 40 | } else if(!strcmp(str, keyR)) { |
fpucher | 0:42484fbe5151 | 41 | //led4=1; |
fpucher | 0:42484fbe5151 | 42 | snprintf(str2, STR_MAX, "%f", fwert); |
fpucher | 0:42484fbe5151 | 43 | pc.printf("%s\n\r", str2); |
fpucher | 0:42484fbe5151 | 44 | } else if(!strcmp(str, keyX)) { |
fpucher | 0:42484fbe5151 | 45 | //led4=0; |
fpucher | 0:42484fbe5151 | 46 | pc.printf("%d\n", 7); |
fpucher | 0:42484fbe5151 | 47 | } else if(!strcmp(str, keyW)) { |
fpucher | 0:42484fbe5151 | 48 | //led4=0; |
fpucher | 0:42484fbe5151 | 49 | pc.printf("%f\n", fwert); |
fpucher | 0:42484fbe5151 | 50 | } else if(!strcmp(str, keyZ)) { |
fpucher | 0:42484fbe5151 | 51 | //led4=0; |
fpucher | 0:42484fbe5151 | 52 | pc.printf("%f\n", (float)sensor); |
fpucher | 0:42484fbe5151 | 53 | } |
fpucher | 0:42484fbe5151 | 54 | } |
fpucher | 0:42484fbe5151 | 55 | } |