stoppuhr s
Dependencies: PinDetect TextLCD mbed
Fork of FeuerwehrStoppuhr0805 by
main.cpp@5:9772a9e2c7e9, 2013-05-23 (annotated)
- Committer:
- joca89
- Date:
- Thu May 23 07:50:13 2013 +0000
- Revision:
- 5:9772a9e2c7e9
- Parent:
- 4:8c274febf3b0
Code der nicht ganz funktioniert
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
fox46 | 0:48f4880c730b | 1 | #include "mbed.h" |
fox46 | 0:48f4880c730b | 2 | #include "PinDetect.h" |
joca89 | 1:3ed42298abc3 | 3 | #include "stdlib.h" |
fox46 | 0:48f4880c730b | 4 | #include "TextLCD.h" |
joca89 | 3:6f6ee868bf8c | 5 | |
fox46 | 0:48f4880c730b | 6 | |
fox46 | 0:48f4880c730b | 7 | DigitalOut myled(LED1); |
fox46 | 0:48f4880c730b | 8 | Timer t; |
joca89 | 3:6f6ee868bf8c | 9 | TextLCD lcd(p36, p34, p24, p23, p15, p16); // rs, e, d0-d3 |
fox46 | 0:48f4880c730b | 10 | PinDetect pb1(p18); |
fox46 | 0:48f4880c730b | 11 | PinDetect pb2(p19); |
joca89 | 5:9772a9e2c7e9 | 12 | DigitalIn dip0(p26); |
joca89 | 5:9772a9e2c7e9 | 13 | DigitalIn dip1(p27); |
joca89 | 5:9772a9e2c7e9 | 14 | DigitalIn dip2(p28); |
joca89 | 5:9772a9e2c7e9 | 15 | DigitalIn dip3(p29); |
joca89 | 1:3ed42298abc3 | 16 | Serial pc(USBTX, USBRX); |
joca89 | 3:6f6ee868bf8c | 17 | Serial hm(p9, p10); // definiere UART für HM-TPR433 Modul |
joca89 | 3:6f6ee868bf8c | 18 | DigitalOut config(p22); |
joca89 | 3:6f6ee868bf8c | 19 | DigitalOut enable(p21); |
fox46 | 0:48f4880c730b | 20 | |
fox46 | 0:48f4880c730b | 21 | // Global count variable |
fox46 | 0:48f4880c730b | 22 | int volatile count=0; |
fox46 | 0:48f4880c730b | 23 | int volatile resetcnt=0; |
joca89 | 1:3ed42298abc3 | 24 | int volatile zz1=0; |
joca89 | 1:3ed42298abc3 | 25 | int volatile zz2=0; |
joca89 | 1:3ed42298abc3 | 26 | int volatile sblock=0; |
joca89 | 1:3ed42298abc3 | 27 | int volatile reset=0; |
joca89 | 5:9772a9e2c7e9 | 28 | int volatile D=1; |
joca89 | 4:8c274febf3b0 | 29 | |
joca89 | 1:3ed42298abc3 | 30 | int ms; |
joca89 | 1:3ed42298abc3 | 31 | int sec; |
joca89 | 1:3ed42298abc3 | 32 | int min; |
joca89 | 1:3ed42298abc3 | 33 | int ms1; |
joca89 | 1:3ed42298abc3 | 34 | char buffer[9]; |
joca89 | 1:3ed42298abc3 | 35 | char zwischenzeit[9]; |
joca89 | 1:3ed42298abc3 | 36 | char zwischenzeit1[9]; |
joca89 | 5:9772a9e2c7e9 | 37 | //char config_buffer[16]; |
joca89 | 1:3ed42298abc3 | 38 | |
joca89 | 1:3ed42298abc3 | 39 | /*Funktions Dekleration*/ |
joca89 | 3:6f6ee868bf8c | 40 | |
joca89 | 3:6f6ee868bf8c | 41 | void empfangen() { |
joca89 | 3:6f6ee868bf8c | 42 | // Note: you need to actually read from the serial to clear the RX interrupt |
joca89 | 3:6f6ee868bf8c | 43 | |
joca89 | 3:6f6ee868bf8c | 44 | t.stop(); |
joca89 | 3:6f6ee868bf8c | 45 | pc.printf("Gesamtzeit: %s\n", buffer); |
joca89 | 3:6f6ee868bf8c | 46 | pc.printf("Zwischenzeit: %s\n", zwischenzeit); |
joca89 | 3:6f6ee868bf8c | 47 | pc.printf("Zwischenzeit: %s\n", zwischenzeit1); |
joca89 | 3:6f6ee868bf8c | 48 | sblock=1; |
joca89 | 5:9772a9e2c7e9 | 49 | hm.getc(); |
joca89 | 5:9772a9e2c7e9 | 50 | enable = 1; |
joca89 | 5:9772a9e2c7e9 | 51 | wait(0.01); |
joca89 | 3:6f6ee868bf8c | 52 | return; |
joca89 | 3:6f6ee868bf8c | 53 | } |
joca89 | 3:6f6ee868bf8c | 54 | |
joca89 | 3:6f6ee868bf8c | 55 | void konfiguration(void) |
joca89 | 3:6f6ee868bf8c | 56 | { |
joca89 | 3:6f6ee868bf8c | 57 | config = 0; |
joca89 | 3:6f6ee868bf8c | 58 | enable = 0; |
joca89 | 5:9772a9e2c7e9 | 59 | //hm.printf("AA FA F0"); //Standardkonfiguration laden |
joca89 | 5:9772a9e2c7e9 | 60 | hm.printf("AA FA E1"); |
joca89 | 5:9772a9e2c7e9 | 61 | //hm.getc(); |
joca89 | 5:9772a9e2c7e9 | 62 | //pc.printf("%s\n", hm.getc()); // um RX Interrupt zu löschen, Zeichen auslesen |
joca89 | 5:9772a9e2c7e9 | 63 | |
joca89 | 5:9772a9e2c7e9 | 64 | /*hm.printf("%x", 0xAA); |
joca89 | 5:9772a9e2c7e9 | 65 | hm.printf("%x", 0xFA); |
joca89 | 5:9772a9e2c7e9 | 66 | hm.printf("%x", 0xD2); |
joca89 | 5:9772a9e2c7e9 | 67 | hm.printf("%x", 0x19E2E460); //AA FA D2 19 E2 E4 60 */ |
joca89 | 5:9772a9e2c7e9 | 68 | |
joca89 | 5:9772a9e2c7e9 | 69 | |
joca89 | 3:6f6ee868bf8c | 70 | wait(0.1); |
joca89 | 3:6f6ee868bf8c | 71 | config = 1; |
joca89 | 3:6f6ee868bf8c | 72 | return; |
joca89 | 3:6f6ee868bf8c | 73 | } |
joca89 | 5:9772a9e2c7e9 | 74 | /* |
joca89 | 5:9772a9e2c7e9 | 75 | void frequenz_config(void) |
joca89 | 5:9772a9e2c7e9 | 76 | { |
joca89 | 5:9772a9e2c7e9 | 77 | config = 0; |
joca89 | 5:9772a9e2c7e9 | 78 | enable = 0; |
joca89 | 5:9772a9e2c7e9 | 79 | if((dip0 == 0) && (dip1 == 0) && (dip2 == 0) && (dip3 == 0)) //Schalterstellung0 |
joca89 | 5:9772a9e2c7e9 | 80 | { |
joca89 | 5:9772a9e2c7e9 | 81 | hm.printf("AA FA D2 19 CF D1 90"); //Frequenz1 = 433050000Hz |
joca89 | 5:9772a9e2c7e9 | 82 | } |
joca89 | 5:9772a9e2c7e9 | 83 | else if((dip0 == 1) && (dip1 == 0) && (dip2 == 0) && (dip3 == 0)) //Schalterstellung 1 |
joca89 | 5:9772a9e2c7e9 | 84 | { |
joca89 | 5:9772a9e2c7e9 | 85 | hm.printf("AA FA D2 19 D3 A2 20"); //Frequenz2 = 433300000Hz |
joca89 | 5:9772a9e2c7e9 | 86 | } |
joca89 | 5:9772a9e2c7e9 | 87 | else if((dip0 == 0) && (dip1 == 1) && (dip2 == 0) && (dip3 == 0)) //Schalterstellung 2 |
joca89 | 5:9772a9e2c7e9 | 88 | { |
joca89 | 5:9772a9e2c7e9 | 89 | hm.printf("AA FA D2 19 D7 72 B0"); //Frequenz3 = 433550000Hz |
joca89 | 5:9772a9e2c7e9 | 90 | } |
joca89 | 5:9772a9e2c7e9 | 91 | else if((dip0 == 1) && (dip1 == 1) && (dip2 == 0) && (dip3 == 0)) //Schalterstellung 3 |
joca89 | 5:9772a9e2c7e9 | 92 | { |
joca89 | 5:9772a9e2c7e9 | 93 | hm.printf("AA FA D2 19 DB 43 40"); //Frequenz4 = 433800000Hz |
joca89 | 5:9772a9e2c7e9 | 94 | } |
joca89 | 5:9772a9e2c7e9 | 95 | else if((dip0 == 0) && (dip1 == 0) && (dip2 == 1) && (dip3 == 0)) //Schalterstellung 4 |
joca89 | 5:9772a9e2c7e9 | 96 | { |
joca89 | 5:9772a9e2c7e9 | 97 | hm.printf("AA FA D2 19 DF 13 D0"); //Frequenz5 = 434050000Hz |
joca89 | 5:9772a9e2c7e9 | 98 | } |
joca89 | 5:9772a9e2c7e9 | 99 | else if((dip0 == 1) && (dip1 == 0) && (dip2 == 1) && (dip3 == 0)) //Schalterstellung 5 |
joca89 | 5:9772a9e2c7e9 | 100 | { |
joca89 | 5:9772a9e2c7e9 | 101 | hm.printf("AA FA D2 19 E2 E4 60"); //Frequenz6 = 434550000Hz |
joca89 | 5:9772a9e2c7e9 | 102 | } |
joca89 | 5:9772a9e2c7e9 | 103 | else if((dip0 == 0) && (dip1 == 1) && (dip2 == 1) && (dip3 == 0)) //Schalterstellung 6 |
joca89 | 5:9772a9e2c7e9 | 104 | { |
joca89 | 5:9772a9e2c7e9 | 105 | hm.printf("AA FA D2 19 E6 B4 F0"); //Frequenz7 = 434550000Hz |
joca89 | 5:9772a9e2c7e9 | 106 | } |
joca89 | 5:9772a9e2c7e9 | 107 | else if((dip0 == 1) && (dip1 == 1) && (dip2 == 1) && (dip3 == 0)) //Schalterstellung 7 |
joca89 | 5:9772a9e2c7e9 | 108 | { |
joca89 | 5:9772a9e2c7e9 | 109 | hm.printf("AA FA D2 19 EA 85 80"); //Frequenz8 = 433300000Hz |
joca89 | 5:9772a9e2c7e9 | 110 | } |
joca89 | 5:9772a9e2c7e9 | 111 | else if((dip0 == 0) && (dip1 == 0) && (dip2 == 0) && (dip3 == 1)) //Schalterstellung 8 |
joca89 | 5:9772a9e2c7e9 | 112 | { |
joca89 | 5:9772a9e2c7e9 | 113 | hm.printf("AA FA D2 19 EE 56 10"); //Frequenz9 = 435050000Hz |
joca89 | 5:9772a9e2c7e9 | 114 | } |
joca89 | 5:9772a9e2c7e9 | 115 | else if((dip0 == 1) && (dip1 == 0) && (dip2 == 0) && (dip3 == 1)) //Schalterstellung 9 |
joca89 | 5:9772a9e2c7e9 | 116 | { |
joca89 | 5:9772a9e2c7e9 | 117 | hm.printf("AA FA D2 19 F2 26 A0"); //Frequenz10 = 435300000Hz |
joca89 | 5:9772a9e2c7e9 | 118 | } |
joca89 | 5:9772a9e2c7e9 | 119 | else if((dip0 == 0) && (dip1 == 1) && (dip2 == 0) && (dip3 == 1)) //Schalterstellung A |
joca89 | 5:9772a9e2c7e9 | 120 | { |
joca89 | 5:9772a9e2c7e9 | 121 | hm.printf("AA FA D2 19 F5 F7 30"); //Frequenz11 = 435550000Hz |
joca89 | 5:9772a9e2c7e9 | 122 | } |
joca89 | 5:9772a9e2c7e9 | 123 | else if((dip0 == 1) && (dip1 == 1) && (dip2 == 0) && (dip3 == 1)) //Schalterstellung B |
joca89 | 5:9772a9e2c7e9 | 124 | { |
joca89 | 5:9772a9e2c7e9 | 125 | hm.printf("AA FA D2 19 F9 C7 C0"); //Frequenz12 = 435800000Hz |
joca89 | 5:9772a9e2c7e9 | 126 | } |
joca89 | 5:9772a9e2c7e9 | 127 | else if((dip0 == 0) && (dip1 == 0) && (dip2 == 1) && (dip3 == 1)) //Schalterstellung C |
joca89 | 5:9772a9e2c7e9 | 128 | { |
joca89 | 5:9772a9e2c7e9 | 129 | hm.printf("AA FA D2 19 FD 98 50"); //Frequenz13 = 436050000Hz |
joca89 | 5:9772a9e2c7e9 | 130 | } |
joca89 | 5:9772a9e2c7e9 | 131 | else if((dip0 == 1) && (dip1 == 0) && (dip2 == 1) && (dip3 == 1)) //Schalterstellung D |
joca89 | 5:9772a9e2c7e9 | 132 | { |
joca89 | 5:9772a9e2c7e9 | 133 | hm.printf("AA FA D2 0x1A 01 68 E0"); //Frequenz14 = 436300000Hz |
joca89 | 5:9772a9e2c7e9 | 134 | } |
joca89 | 5:9772a9e2c7e9 | 135 | else if((dip0 == 0) && (dip1 == 1) && (dip2 == 1) && (dip3 == 1)) //Schalterstellung E |
joca89 | 5:9772a9e2c7e9 | 136 | { |
joca89 | 5:9772a9e2c7e9 | 137 | hm.printf("AA FA D2 1A 05 39 70"); //Frequenz15 = 436550000Hz |
joca89 | 5:9772a9e2c7e9 | 138 | } |
joca89 | 5:9772a9e2c7e9 | 139 | else if((dip0 == 1) && (dip1 == 1) && (dip2 == 1) && (dip3 == 1)) //Schalterstellung F |
joca89 | 5:9772a9e2c7e9 | 140 | { |
joca89 | 5:9772a9e2c7e9 | 141 | hm.printf("AA FA D2 1A 09 0A 00"); //Frequenz16 = 436800000Hz |
joca89 | 5:9772a9e2c7e9 | 142 | } |
joca89 | 5:9772a9e2c7e9 | 143 | else |
joca89 | 5:9772a9e2c7e9 | 144 | { |
joca89 | 5:9772a9e2c7e9 | 145 | lcd.cls(); |
joca89 | 5:9772a9e2c7e9 | 146 | lcd.printf("Fehler"); |
joca89 | 5:9772a9e2c7e9 | 147 | wait(0.8); |
joca89 | 5:9772a9e2c7e9 | 148 | } |
joca89 | 5:9772a9e2c7e9 | 149 | wait(0.1); |
joca89 | 5:9772a9e2c7e9 | 150 | config = 1; |
joca89 | 5:9772a9e2c7e9 | 151 | return; |
joca89 | 5:9772a9e2c7e9 | 152 | } |
joca89 | 5:9772a9e2c7e9 | 153 | */ |
joca89 | 3:6f6ee868bf8c | 154 | |
joca89 | 1:3ed42298abc3 | 155 | void stoppuhr(void) |
joca89 | 1:3ed42298abc3 | 156 | { |
joca89 | 1:3ed42298abc3 | 157 | ms = t.read_ms(); //hole mir den TimerWert in ms |
joca89 | 1:3ed42298abc3 | 158 | sec = (ms/1000); //erzeuge mir durch division eine sekunde - aktueller Timerwert/1000 - z.b: 2548/1000=2sec |
joca89 | 1:3ed42298abc3 | 159 | ms = ms - (sec*1000); //stelle meine ms richtig |
joca89 | 1:3ed42298abc3 | 160 | min = (sec/60); //erzeuge mir Minuten |
joca89 | 1:3ed42298abc3 | 161 | sec = sec - (min*60); //stelle Sekunden richtig |
joca89 | 1:3ed42298abc3 | 162 | ms = (ms/10); |
joca89 | 1:3ed42298abc3 | 163 | ms1 = (ms/10); //erzeuge mir zwei Stellen nach komma |
joca89 | 1:3ed42298abc3 | 164 | sprintf(buffer, "%02d:%02d:%02d", min, sec, ms); //schreibe in den buffer |
joca89 | 1:3ed42298abc3 | 165 | return; |
joca89 | 1:3ed42298abc3 | 166 | } |
joca89 | 1:3ed42298abc3 | 167 | |
joca89 | 1:3ed42298abc3 | 168 | void reset_halten( void ) |
joca89 | 3:6f6ee868bf8c | 169 | { |
joca89 | 5:9772a9e2c7e9 | 170 | if(sblock==1) // Reset für Durchgang erhöhen |
joca89 | 1:3ed42298abc3 | 171 | { |
joca89 | 1:3ed42298abc3 | 172 | t.stop(); |
joca89 | 1:3ed42298abc3 | 173 | t.reset(); |
joca89 | 1:3ed42298abc3 | 174 | stoppuhr(); |
joca89 | 1:3ed42298abc3 | 175 | sprintf(zwischenzeit,"%01d:%02d:%1d", min, sec, ms1); |
joca89 | 1:3ed42298abc3 | 176 | sprintf(zwischenzeit1,"%01d:%02d:%1d", min, sec, ms1); |
joca89 | 1:3ed42298abc3 | 177 | resetcnt=0; |
joca89 | 1:3ed42298abc3 | 178 | count=0; |
joca89 | 1:3ed42298abc3 | 179 | zz1=0; |
joca89 | 1:3ed42298abc3 | 180 | zz2=0; |
joca89 | 1:3ed42298abc3 | 181 | sblock=0; |
joca89 | 1:3ed42298abc3 | 182 | D++; |
joca89 | 5:9772a9e2c7e9 | 183 | if(D>99){D=1;} |
joca89 | 1:3ed42298abc3 | 184 | } |
joca89 | 5:9772a9e2c7e9 | 185 | if(sblock==0) // Reset für ungewolten Durchgang |
joca89 | 5:9772a9e2c7e9 | 186 | { |
joca89 | 5:9772a9e2c7e9 | 187 | t.stop(); |
joca89 | 5:9772a9e2c7e9 | 188 | t.reset(); |
joca89 | 5:9772a9e2c7e9 | 189 | stoppuhr(); |
joca89 | 5:9772a9e2c7e9 | 190 | sprintf(zwischenzeit,"%01d:%02d:%1d", min, sec, ms1); |
joca89 | 5:9772a9e2c7e9 | 191 | sprintf(zwischenzeit1,"%01d:%02d:%1d", min, sec, ms1); |
joca89 | 5:9772a9e2c7e9 | 192 | resetcnt=0; |
joca89 | 5:9772a9e2c7e9 | 193 | count=0; |
joca89 | 5:9772a9e2c7e9 | 194 | zz1=0; |
joca89 | 5:9772a9e2c7e9 | 195 | zz2=0; |
joca89 | 5:9772a9e2c7e9 | 196 | sblock=0; |
joca89 | 5:9772a9e2c7e9 | 197 | } |
joca89 | 1:3ed42298abc3 | 198 | } |
fox46 | 0:48f4880c730b | 199 | |
fox46 | 0:48f4880c730b | 200 | // Callback routine is interrupt activated by a debounced pb1 hit |
fox46 | 0:48f4880c730b | 201 | void pb1_hit_callback (void) { |
joca89 | 1:3ed42298abc3 | 202 | |
joca89 | 1:3ed42298abc3 | 203 | ++count; //erhöhe die Variable count nach jedem drücken des Startbuttoms um 1 |
joca89 | 1:3ed42298abc3 | 204 | |
joca89 | 1:3ed42298abc3 | 205 | if ((resetcnt==0) && (count <= 1)&& (sblock==0)) |
joca89 | 1:3ed42298abc3 | 206 | { |
joca89 | 1:3ed42298abc3 | 207 | t.reset(); //restiere Timer |
joca89 | 1:3ed42298abc3 | 208 | t.start(); //starte Timer |
joca89 | 1:3ed42298abc3 | 209 | resetcnt=1; |
joca89 | 5:9772a9e2c7e9 | 210 | enable = 0; |
joca89 | 1:3ed42298abc3 | 211 | } |
joca89 | 1:3ed42298abc3 | 212 | else if ((resetcnt==1) && (count <= 2) && (sblock==0)) |
joca89 | 1:3ed42298abc3 | 213 | { |
joca89 | 1:3ed42298abc3 | 214 | zz1=1; |
joca89 | 1:3ed42298abc3 | 215 | sprintf(zwischenzeit,"%01d:%02d:%1d", min, sec, ms1); |
joca89 | 1:3ed42298abc3 | 216 | resetcnt=2; |
joca89 | 1:3ed42298abc3 | 217 | } |
joca89 | 1:3ed42298abc3 | 218 | else if ((resetcnt==2) && (count <= 3) && (sblock==0)) |
joca89 | 1:3ed42298abc3 | 219 | { |
joca89 | 1:3ed42298abc3 | 220 | zz2=1; |
joca89 | 1:3ed42298abc3 | 221 | sprintf(zwischenzeit1,"%01d:%02d:%1d", min, sec, ms1); |
joca89 | 1:3ed42298abc3 | 222 | } |
joca89 | 1:3ed42298abc3 | 223 | else |
joca89 | 1:3ed42298abc3 | 224 | { |
joca89 | 5:9772a9e2c7e9 | 225 | resetcnt=resetcnt++; |
joca89 | 5:9772a9e2c7e9 | 226 | if(resetcnt==100){ resetcnt=3;} |
joca89 | 1:3ed42298abc3 | 227 | } |
joca89 | 1:3ed42298abc3 | 228 | resetcnt=resetcnt++; |
fox46 | 0:48f4880c730b | 229 | } |
joca89 | 4:8c274febf3b0 | 230 | |
joca89 | 5:9772a9e2c7e9 | 231 | void pb2_hit_callback (void) { //Stoppen des Timers ohne Funk |
joca89 | 5:9772a9e2c7e9 | 232 | t.stop(); |
joca89 | 5:9772a9e2c7e9 | 233 | pc.printf("Gesamtzeit: %s\n", buffer); |
joca89 | 5:9772a9e2c7e9 | 234 | pc.printf("Zwischenzeit: %s\n", zwischenzeit); |
joca89 | 5:9772a9e2c7e9 | 235 | pc.printf("Zwischenzeit: %s\n", zwischenzeit1); |
joca89 | 5:9772a9e2c7e9 | 236 | sblock=1; |
joca89 | 5:9772a9e2c7e9 | 237 | } |
joca89 | 3:6f6ee868bf8c | 238 | |
joca89 | 5:9772a9e2c7e9 | 239 | void stoppen( void ) //Kompletter Anzeigereset bei gedrückt halten |
joca89 | 5:9772a9e2c7e9 | 240 | { |
joca89 | 5:9772a9e2c7e9 | 241 | t.stop(); |
joca89 | 5:9772a9e2c7e9 | 242 | t.reset(); |
joca89 | 5:9772a9e2c7e9 | 243 | stoppuhr(); |
joca89 | 5:9772a9e2c7e9 | 244 | sprintf(zwischenzeit,"%01d:%02d:%1d", min, sec, ms1); |
joca89 | 5:9772a9e2c7e9 | 245 | sprintf(zwischenzeit1,"%01d:%02d:%1d", min, sec, ms1); |
joca89 | 5:9772a9e2c7e9 | 246 | resetcnt=0; |
joca89 | 5:9772a9e2c7e9 | 247 | count=0; |
joca89 | 5:9772a9e2c7e9 | 248 | zz1=0; |
joca89 | 5:9772a9e2c7e9 | 249 | zz2=0; |
joca89 | 5:9772a9e2c7e9 | 250 | sblock=0; |
joca89 | 5:9772a9e2c7e9 | 251 | D=0; |
joca89 | 5:9772a9e2c7e9 | 252 | } |
joca89 | 5:9772a9e2c7e9 | 253 | |
joca89 | 5:9772a9e2c7e9 | 254 | int main() |
joca89 | 5:9772a9e2c7e9 | 255 | { |
joca89 | 5:9772a9e2c7e9 | 256 | // Use internal pullup for pushbutton |
joca89 | 5:9772a9e2c7e9 | 257 | pb1.mode(PullUp); |
joca89 | 5:9772a9e2c7e9 | 258 | pb2.mode(PullUp); |
joca89 | 5:9772a9e2c7e9 | 259 | dip0.mode(PullUp); |
joca89 | 5:9772a9e2c7e9 | 260 | dip1.mode(PullUp); |
joca89 | 5:9772a9e2c7e9 | 261 | dip2.mode(PullUp); |
joca89 | 5:9772a9e2c7e9 | 262 | dip3.mode(PullUp); |
joca89 | 5:9772a9e2c7e9 | 263 | // Delay for initial pullup to take effect |
joca89 | 5:9772a9e2c7e9 | 264 | wait(0.01); |
fox46 | 0:48f4880c730b | 265 | // Setup Interrupt callback functions for a pb hit |
fox46 | 0:48f4880c730b | 266 | pb1.attach_deasserted(&pb1_hit_callback); |
joca89 | 4:8c274febf3b0 | 267 | pb1.attach_deasserted_held(&reset_halten); |
joca89 | 5:9772a9e2c7e9 | 268 | pb2.attach_deasserted(&pb2_hit_callback); |
joca89 | 5:9772a9e2c7e9 | 269 | pb2.attach_deasserted_held(&stoppen); |
fox46 | 0:48f4880c730b | 270 | // Start sampling pb inputs using interrupts |
fox46 | 0:48f4880c730b | 271 | pb1.setSampleFrequency(); |
joca89 | 5:9772a9e2c7e9 | 272 | pb2.setSampleFrequency(); |
joca89 | 5:9772a9e2c7e9 | 273 | |
joca89 | 5:9772a9e2c7e9 | 274 | konfiguration(); |
joca89 | 5:9772a9e2c7e9 | 275 | //frequenz_config(); |
joca89 | 5:9772a9e2c7e9 | 276 | hm.attach(&empfangen); |
joca89 | 5:9772a9e2c7e9 | 277 | |
joca89 | 3:6f6ee868bf8c | 278 | |
fox46 | 0:48f4880c730b | 279 | while (1) { |
joca89 | 5:9772a9e2c7e9 | 280 | wait(.01); |
joca89 | 1:3ed42298abc3 | 281 | lcd.cls(); |
joca89 | 5:9772a9e2c7e9 | 282 | // myled = !myled; // LED1 blickt |
joca89 | 1:3ed42298abc3 | 283 | stoppuhr(); //rufe Funktion stoppuhr auf |
joca89 | 1:3ed42298abc3 | 284 | lcd.locate(0, 0); //setze den curser auf Zeihen 0 Reihe 1 |
joca89 | 1:3ed42298abc3 | 285 | lcd.printf("D%02d", D); //Formatiere mein LCD-Ausgabe nach D00 (zwei stellen) |
joca89 | 1:3ed42298abc3 | 286 | lcd.locate(4, 0); |
joca89 | 1:3ed42298abc3 | 287 | lcd.printf("ZE:%s", buffer); |
joca89 | 1:3ed42298abc3 | 288 | if(zz1==1) |
joca89 | 1:3ed42298abc3 | 289 | { |
joca89 | 1:3ed42298abc3 | 290 | lcd.locate(0, 1); |
joca89 | 1:3ed42298abc3 | 291 | lcd.printf("A%s", zwischenzeit); |
joca89 | 1:3ed42298abc3 | 292 | } |
joca89 | 1:3ed42298abc3 | 293 | if(zz2==1) |
joca89 | 1:3ed42298abc3 | 294 | { |
joca89 | 1:3ed42298abc3 | 295 | lcd.locate(8, 1); |
joca89 | 1:3ed42298abc3 | 296 | lcd.printf("B%s", zwischenzeit1); |
joca89 | 5:9772a9e2c7e9 | 297 | } |
fox46 | 0:48f4880c730b | 298 | } |
fox46 | 0:48f4880c730b | 299 | |
joca89 | 1:3ed42298abc3 | 300 | } |