ABELI2019
/
Nucleo_Serial_PC_Csp
Example Protocol Serial-PC-Communication for NUClight ToDo: make it better:-)
main.cpp@0:da28608fbcaf, 2020-02-04 (annotated)
- Committer:
- fpucher
- Date:
- Tue Feb 04 11:33:51 2020 +0000
- Revision:
- 0:da28608fbcaf
Example Protocol Serial-PC-Communication for NUClight ToDo: make it better:-)
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
fpucher | 0:da28608fbcaf | 1 | // BULME Graz, |
fpucher | 0:da28608fbcaf | 2 | // by F. Wolf 01.11.2019 |
fpucher | 0:da28608fbcaf | 3 | /* |
fpucher | 0:da28608fbcaf | 4 | PIN-OUT-NUClight |
fpucher | 0:da28608fbcaf | 5 | NUCLEO-L432KC |
fpucher | 0:da28608fbcaf | 6 | RGB-rot D1|-------| VIn |
fpucher | 0:da28608fbcaf | 7 | RGB-gruen D0| | GND |
fpucher | 0:da28608fbcaf | 8 | NRST| | RST |
fpucher | 0:da28608fbcaf | 9 | GND| | 5V0 |
fpucher | 0:da28608fbcaf | 10 | LED1 <-D2| | A7 |
fpucher | 0:da28608fbcaf | 11 | LED2 <-D3| | A6 -> LED7 |
fpucher | 0:da28608fbcaf | 12 | SDA (I2C) (MPU6050 gyro) <- D4| | A5 |
fpucher | 0:da28608fbcaf | 13 | SCL (I2C) (MPU6050 gyro) <- D5| | A4 |
fpucher | 0:da28608fbcaf | 14 | LED3 <-D6| | A3 -> POTI |
fpucher | 0:da28608fbcaf | 15 | nc D7| | A2 -> Taster |
fpucher | 0:da28608fbcaf | 16 | nc D8| | A1 -> Taster |
fpucher | 0:da28608fbcaf | 17 | LED4 D9| | A0 -> DS18B20 |
fpucher | 0:da28608fbcaf | 18 | RGB-blau <- D10| | ARF |
fpucher | 0:da28608fbcaf | 19 | LED5 <- D11| | 3V0 |
fpucher | 0:da28608fbcaf | 20 | LED6 <- D12|-------| D13 -> LED8 |
fpucher | 0:da28608fbcaf | 21 | */ |
fpucher | 0:da28608fbcaf | 22 | #include "mbed.h" |
fpucher | 0:da28608fbcaf | 23 | #include "DS1820.h" // library Zoltan Hudak |
fpucher | 0:da28608fbcaf | 24 | |
fpucher | 0:da28608fbcaf | 25 | #define STR_MAX 10 |
fpucher | 0:da28608fbcaf | 26 | DigitalOut led1(LED1); |
fpucher | 0:da28608fbcaf | 27 | DigitalOut led2(D3); |
fpucher | 0:da28608fbcaf | 28 | DigitalOut led3(D6); |
fpucher | 0:da28608fbcaf | 29 | DigitalOut led4(D9); |
fpucher | 0:da28608fbcaf | 30 | |
fpucher | 0:da28608fbcaf | 31 | Serial pc(USBTX, USBRX); |
fpucher | 0:da28608fbcaf | 32 | DS1820 ds1820(A0); |
fpucher | 0:da28608fbcaf | 33 | |
fpucher | 0:da28608fbcaf | 34 | char str[STR_MAX]; |
fpucher | 0:da28608fbcaf | 35 | char str2[STR_MAX]; |
fpucher | 0:da28608fbcaf | 36 | int index=0; |
fpucher | 0:da28608fbcaf | 37 | |
fpucher | 0:da28608fbcaf | 38 | int main() |
fpucher | 0:da28608fbcaf | 39 | { |
fpucher | 0:da28608fbcaf | 40 | float fwert = 12.23; |
fpucher | 0:da28608fbcaf | 41 | float twert = 22.5; |
fpucher | 0:da28608fbcaf | 42 | char key1[] = "1"; |
fpucher | 0:da28608fbcaf | 43 | char key2[] = "2"; |
fpucher | 0:da28608fbcaf | 44 | char key3[] = "3"; |
fpucher | 0:da28608fbcaf | 45 | char key4[] = "D"; |
fpucher | 0:da28608fbcaf | 46 | char keyR[] = "RD"; |
fpucher | 0:da28608fbcaf | 47 | char keyW[] = "FWR"; |
fpucher | 0:da28608fbcaf | 48 | char keyX[] = "IXX"; |
fpucher | 0:da28608fbcaf | 49 | char keyZ[] = "TA"; |
fpucher | 0:da28608fbcaf | 50 | |
fpucher | 0:da28608fbcaf | 51 | if (ds1820.begin()) { |
fpucher | 0:da28608fbcaf | 52 | ds1820.startConversion(); |
fpucher | 0:da28608fbcaf | 53 | twert = ds1820.read(); |
fpucher | 0:da28608fbcaf | 54 | } else { |
fpucher | 0:da28608fbcaf | 55 | twert = 22.5; |
fpucher | 0:da28608fbcaf | 56 | } |
fpucher | 0:da28608fbcaf | 57 | while (1) { |
fpucher | 0:da28608fbcaf | 58 | led1 = !led1; |
fpucher | 0:da28608fbcaf | 59 | pc.scanf("%s", str); |
fpucher | 0:da28608fbcaf | 60 | if(!strcmp(str, key1)) { |
fpucher | 0:da28608fbcaf | 61 | //led1=!led1; |
fpucher | 0:da28608fbcaf | 62 | } else if(!strcmp(str, key2)) { |
fpucher | 0:da28608fbcaf | 63 | led2=!led2; |
fpucher | 0:da28608fbcaf | 64 | } else if(!strcmp(str, key3)) { |
fpucher | 0:da28608fbcaf | 65 | led3=!led3; |
fpucher | 0:da28608fbcaf | 66 | } else if(!strcmp(str, key4)) { |
fpucher | 0:da28608fbcaf | 67 | led4=!led4; |
fpucher | 0:da28608fbcaf | 68 | } else if(!strcmp(str, keyR)) { |
fpucher | 0:da28608fbcaf | 69 | //led4=1; |
fpucher | 0:da28608fbcaf | 70 | snprintf(str2, STR_MAX, "%f", fwert); |
fpucher | 0:da28608fbcaf | 71 | pc.printf("%s\n\r", str2); |
fpucher | 0:da28608fbcaf | 72 | } else if(!strcmp(str, keyX)) { |
fpucher | 0:da28608fbcaf | 73 | //led4=0; |
fpucher | 0:da28608fbcaf | 74 | pc.printf("%d\n", 7); |
fpucher | 0:da28608fbcaf | 75 | } else if(!strcmp(str, keyW)) { |
fpucher | 0:da28608fbcaf | 76 | //led4=0; |
fpucher | 0:da28608fbcaf | 77 | pc.printf("%f\n", fwert); |
fpucher | 0:da28608fbcaf | 78 | } else if(!strcmp(str, keyZ)) { |
fpucher | 0:da28608fbcaf | 79 | //led4=0; |
fpucher | 0:da28608fbcaf | 80 | pc.printf("%f\n", twert); |
fpucher | 0:da28608fbcaf | 81 | } |
fpucher | 0:da28608fbcaf | 82 | } |
fpucher | 0:da28608fbcaf | 83 | } |