Alle DIC Uebungen bis 3D

Dependencies:   C12832 mbed

Fork of HelloWorld by Simon Ford

Committer:
Leitner
Date:
Tue Nov 28 13:56:23 2017 +0000
Revision:
2:020d30f2e7b5
Parent:
0:fb6bbc10ffa0
DIC 3BHEL;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
simon 0:fb6bbc10ffa0 1 #include "mbed.h"
Leitner 2:020d30f2e7b5 2 #include "C12832.h"
Leitner 2:020d30f2e7b5 3
Leitner 2:020d30f2e7b5 4 #define EaaE 9
Leitner 2:020d30f2e7b5 5 #define aEEa 6
Leitner 2:020d30f2e7b5 6 #define Eaaa 8
Leitner 2:020d30f2e7b5 7 #define EEaa 12
Leitner 2:020d30f2e7b5 8 #define EEEa 14
Leitner 2:020d30f2e7b5 9 #define EEEE 15
Leitner 2:020d30f2e7b5 10 #define aEEE 7
Leitner 2:020d30f2e7b5 11 #define aaEE 3
Leitner 2:020d30f2e7b5 12 #define aaaE 1
Leitner 2:020d30f2e7b5 13 #define aaaa 0
Leitner 2:020d30f2e7b5 14 #define aEaa 4
Leitner 2:020d30f2e7b5 15 #define aaEa 2
Leitner 2:020d30f2e7b5 16
Leitner 2:020d30f2e7b5 17 C12832 lcd(p5, p7, p6, p8, p11);
Leitner 2:020d30f2e7b5 18
Leitner 2:020d30f2e7b5 19 Serial fs(USBTX, USBRX);
Leitner 2:020d30f2e7b5 20 DigitalOut myled1(LED1);
Leitner 2:020d30f2e7b5 21 DigitalOut myled2(LED2);
Leitner 2:020d30f2e7b5 22 DigitalOut myled3(LED3);
Leitner 2:020d30f2e7b5 23 DigitalOut myled4(LED4);
Leitner 2:020d30f2e7b5 24
Leitner 2:020d30f2e7b5 25 BusOut Leds(LED1, LED2, LED3, LED4);
Leitner 2:020d30f2e7b5 26 BusOut RGBLed(p23, p24, p25);
Leitner 2:020d30f2e7b5 27 // R G B
Leitner 2:020d30f2e7b5 28 // ÜBUNG 1: B
Leitner 2:020d30f2e7b5 29 /*
Leitner 2:020d30f2e7b5 30 void switchLeds(int led1, int led2, int led3, int led4, float time)
Leitner 2:020d30f2e7b5 31 {
Leitner 2:020d30f2e7b5 32 myled1 = led1;
Leitner 2:020d30f2e7b5 33 myled2 = led2;
Leitner 2:020d30f2e7b5 34 myled3 = led3;
Leitner 2:020d30f2e7b5 35 myled4 = led4;
Leitner 2:020d30f2e7b5 36 wait(time);
Leitner 2:020d30f2e7b5 37 }
Leitner 2:020d30f2e7b5 38
simon 0:fb6bbc10ffa0 39
Leitner 2:020d30f2e7b5 40 int main() {
Leitner 2:020d30f2e7b5 41
Leitner 2:020d30f2e7b5 42 switchLeds(1,0,0,1, 2.0);
Leitner 2:020d30f2e7b5 43 switchLeds(0,1,1,0, 2.0);
Leitner 2:020d30f2e7b5 44 while(1)
Leitner 2:020d30f2e7b5 45 {
Leitner 2:020d30f2e7b5 46 switchLeds(1,0,0,0, 0.6);
Leitner 2:020d30f2e7b5 47 switchLeds(1,1,0,0, 0.6);
Leitner 2:020d30f2e7b5 48 switchLeds(1,1,1,0, 0.6);
Leitner 2:020d30f2e7b5 49 switchLeds(1,1,1,1, 0.6);
Leitner 2:020d30f2e7b5 50 switchLeds(0,1,1,1, 0.6);
Leitner 2:020d30f2e7b5 51 switchLeds(0,0,1,1, 0.6);
Leitner 2:020d30f2e7b5 52 switchLeds(0,0,0,1, 0.6);
Leitner 2:020d30f2e7b5 53 switchLeds(0,0,0,0, 0.6);
Leitner 2:020d30f2e7b5 54 }
Leitner 2:020d30f2e7b5 55
Leitner 2:020d30f2e7b5 56
Leitner 2:020d30f2e7b5 57
Leitner 2:020d30f2e7b5 58
Leitner 2:020d30f2e7b5 59 }
Leitner 2:020d30f2e7b5 60 */
Leitner 2:020d30f2e7b5 61 // ÜBUNG 1: C
Leitner 2:020d30f2e7b5 62 /*
Leitner 2:020d30f2e7b5 63 void switchLeds(char led1, char led2, char led3, char led4, float time)
Leitner 2:020d30f2e7b5 64 {
Leitner 2:020d30f2e7b5 65 if(led1 == 'E') myled1 = 1;
Leitner 2:020d30f2e7b5 66 else myled1 = 0;
Leitner 2:020d30f2e7b5 67 if(led2 == 'E') myled2 = 1;
Leitner 2:020d30f2e7b5 68 else myled2 = 0;
Leitner 2:020d30f2e7b5 69 if(led3 == 'E') myled3 = 1;
Leitner 2:020d30f2e7b5 70 else myled3 = 0;
Leitner 2:020d30f2e7b5 71 if(led4 == 'E') myled4 = 1;
Leitner 2:020d30f2e7b5 72 else myled4 = 0;
Leitner 2:020d30f2e7b5 73 wait(time);
Leitner 2:020d30f2e7b5 74 }
Leitner 2:020d30f2e7b5 75 int main() {
Leitner 2:020d30f2e7b5 76
Leitner 2:020d30f2e7b5 77 switchLeds('E','a','a','E', 2.0);
Leitner 2:020d30f2e7b5 78 switchLeds('a','E','E','a', 2.0);
Leitner 2:020d30f2e7b5 79 while(1)
Leitner 2:020d30f2e7b5 80 {
Leitner 2:020d30f2e7b5 81 switchLeds('E','a','a','a', 0.6);
Leitner 2:020d30f2e7b5 82 switchLeds('E','E','a','a', 0.6);
Leitner 2:020d30f2e7b5 83 switchLeds('E','E','E','a', 0.6);
Leitner 2:020d30f2e7b5 84 switchLeds('E','E','E','E', 0.6);
Leitner 2:020d30f2e7b5 85 switchLeds('a','E','E','E', 0.6);
Leitner 2:020d30f2e7b5 86 switchLeds('a','a','E','E', 0.6);
Leitner 2:020d30f2e7b5 87 switchLeds('a','a','a','E', 0.6);
Leitner 2:020d30f2e7b5 88 switchLeds('a','a','a','a', 0.6);
Leitner 2:020d30f2e7b5 89 }
Leitner 2:020d30f2e7b5 90
Leitner 2:020d30f2e7b5 91
Leitner 2:020d30f2e7b5 92
Leitner 2:020d30f2e7b5 93
Leitner 2:020d30f2e7b5 94 }
Leitner 2:020d30f2e7b5 95 */
Leitner 2:020d30f2e7b5 96 // ÜBUNG 1: D
Leitner 2:020d30f2e7b5 97 /*
Leitner 2:020d30f2e7b5 98 int timefor = 5.0;
Leitner 2:020d30f2e7b5 99
Leitner 2:020d30f2e7b5 100 void switchLeds(char led1, char led2, char led3, char led4, float time)
Leitner 2:020d30f2e7b5 101 {
Leitner 2:020d30f2e7b5 102 if(led1 == 'E') Leds = 0x01;
Leitner 2:020d30f2e7b5 103 else Leds = 0x00;
Leitner 2:020d30f2e7b5 104 if(led2 == 'E') Leds = 0x02;
Leitner 2:020d30f2e7b5 105 else Leds = 0x00;
Leitner 2:020d30f2e7b5 106 if(led3 == 'E') Leds = 0x04;
Leitner 2:020d30f2e7b5 107 else Leds = 0x00;
Leitner 2:020d30f2e7b5 108 if(led4 == 'E') Leds = 0x08;
Leitner 2:020d30f2e7b5 109 else Leds = 0x00;
Leitner 2:020d30f2e7b5 110 wait(time);
Leitner 2:020d30f2e7b5 111
Leitner 2:020d30f2e7b5 112 }
simon 0:fb6bbc10ffa0 113
simon 0:fb6bbc10ffa0 114 int main() {
Leitner 2:020d30f2e7b5 115 for(int i = 0; i<5; i++)
Leitner 2:020d30f2e7b5 116 {
Leitner 2:020d30f2e7b5 117 Leds = 0x9;
Leitner 2:020d30f2e7b5 118 wait(timefor);
Leitner 2:020d30f2e7b5 119 Leds = 0x6;
Leitner 2:020d30f2e7b5 120 wait(timefor);
Leitner 2:020d30f2e7b5 121 timefor--;
Leitner 2:020d30f2e7b5 122 }
Leitner 2:020d30f2e7b5 123 Leds = 0x0;
Leitner 2:020d30f2e7b5 124 wait(1);
Leitner 2:020d30f2e7b5 125 while(1)
Leitner 2:020d30f2e7b5 126 {
Leitner 2:020d30f2e7b5 127 Leds = 0x8;
Leitner 2:020d30f2e7b5 128 wait(0.6);
Leitner 2:020d30f2e7b5 129 Leds = 0xC;
Leitner 2:020d30f2e7b5 130 wait(0.6);
Leitner 2:020d30f2e7b5 131 Leds = 0xE;
Leitner 2:020d30f2e7b5 132 wait(0.6);
Leitner 2:020d30f2e7b5 133 Leds = 0xF;
Leitner 2:020d30f2e7b5 134 wait(0.6);
Leitner 2:020d30f2e7b5 135 Leds = 0x7;
Leitner 2:020d30f2e7b5 136 wait(0.6);
Leitner 2:020d30f2e7b5 137 Leds = 0x3;
Leitner 2:020d30f2e7b5 138 wait(0.6);
Leitner 2:020d30f2e7b5 139 Leds = 0x1;
Leitner 2:020d30f2e7b5 140 wait(0.6);
Leitner 2:020d30f2e7b5 141 Leds = 0x0;
Leitner 2:020d30f2e7b5 142 wait(0.6);
Leitner 2:020d30f2e7b5 143 }
Leitner 2:020d30f2e7b5 144
Leitner 2:020d30f2e7b5 145
Leitner 2:020d30f2e7b5 146
Leitner 2:020d30f2e7b5 147
Leitner 2:020d30f2e7b5 148 }
Leitner 2:020d30f2e7b5 149 */
Leitner 2:020d30f2e7b5 150 // ÜBUNG 1: E
Leitner 2:020d30f2e7b5 151 /*
Leitner 2:020d30f2e7b5 152 void switchLeds(int Busvalue, double time)
Leitner 2:020d30f2e7b5 153 {
Leitner 2:020d30f2e7b5 154 Leds = Busvalue;
Leitner 2:020d30f2e7b5 155 wait(time);
Leitner 2:020d30f2e7b5 156 }
Leitner 2:020d30f2e7b5 157 int timefor = 5.0;
Leitner 2:020d30f2e7b5 158 int main ()
Leitner 2:020d30f2e7b5 159 {
Leitner 2:020d30f2e7b5 160 for(int i = 0; i<5; i++)
Leitner 2:020d30f2e7b5 161 {
Leitner 2:020d30f2e7b5 162 switchLeds(EaaE, timefor);
Leitner 2:020d30f2e7b5 163 switchLeds(aEEa, timefor);
Leitner 2:020d30f2e7b5 164
Leitner 2:020d30f2e7b5 165 timefor--;
Leitner 2:020d30f2e7b5 166 }
Leitner 2:020d30f2e7b5 167
Leitner 2:020d30f2e7b5 168 switchLeds(aaaa, 1.0);
Leitner 2:020d30f2e7b5 169
Leitner 2:020d30f2e7b5 170 while(1)
Leitner 2:020d30f2e7b5 171 {
Leitner 2:020d30f2e7b5 172 switchLeds(Eaaa, 0.6);
Leitner 2:020d30f2e7b5 173
Leitner 2:020d30f2e7b5 174 switchLeds(EEaa, 0.6);
Leitner 2:020d30f2e7b5 175
Leitner 2:020d30f2e7b5 176 switchLeds(EEEa, 0.6);
Leitner 2:020d30f2e7b5 177
Leitner 2:020d30f2e7b5 178 switchLeds(EEEE, 0.6);
Leitner 2:020d30f2e7b5 179
Leitner 2:020d30f2e7b5 180 switchLeds(aEEE, 0.6);
Leitner 2:020d30f2e7b5 181
Leitner 2:020d30f2e7b5 182 switchLeds(aaEE, 0.6);
Leitner 2:020d30f2e7b5 183
Leitner 2:020d30f2e7b5 184 switchLeds(aaaE, 0.6);
Leitner 2:020d30f2e7b5 185
Leitner 2:020d30f2e7b5 186 switchLeds(aaaa, 0.6);
Leitner 2:020d30f2e7b5 187 }
Leitner 2:020d30f2e7b5 188 }
Leitner 2:020d30f2e7b5 189 */
Leitner 2:020d30f2e7b5 190 // ÜBUNG 2: A
Leitner 2:020d30f2e7b5 191 /*
Leitner 2:020d30f2e7b5 192 void switchLeds(int Busvalue, double time)
Leitner 2:020d30f2e7b5 193 {
Leitner 2:020d30f2e7b5 194 Leds = Busvalue;
Leitner 2:020d30f2e7b5 195 wait(time);
Leitner 2:020d30f2e7b5 196 }
Leitner 2:020d30f2e7b5 197
Leitner 2:020d30f2e7b5 198 int main ()
Leitner 2:020d30f2e7b5 199 {
Leitner 2:020d30f2e7b5 200
Leitner 2:020d30f2e7b5 201 switchLeds(EEEE, 2.0);
Leitner 2:020d30f2e7b5 202 switchLeds(aaaa, 2.0);
Leitner 2:020d30f2e7b5 203
Leitner 2:020d30f2e7b5 204
Leitner 2:020d30f2e7b5 205 while(1)
Leitner 2:020d30f2e7b5 206 {
Leitner 2:020d30f2e7b5 207 switchLeds(Eaaa, 0.5);
Leitner 2:020d30f2e7b5 208
Leitner 2:020d30f2e7b5 209 switchLeds(aEaa, 0.5);
Leitner 2:020d30f2e7b5 210
Leitner 2:020d30f2e7b5 211 switchLeds(aaEa, 0.5);
Leitner 2:020d30f2e7b5 212
Leitner 2:020d30f2e7b5 213 switchLeds(aaaE, 0.5);
Leitner 2:020d30f2e7b5 214 }
Leitner 2:020d30f2e7b5 215 }
Leitner 2:020d30f2e7b5 216 */
Leitner 2:020d30f2e7b5 217 // ÜBUNG 2: B
Leitner 2:020d30f2e7b5 218 /*
Leitner 2:020d30f2e7b5 219 void switchLeds(int Busvalue, double time)
Leitner 2:020d30f2e7b5 220 {
Leitner 2:020d30f2e7b5 221 Leds = Busvalue;
Leitner 2:020d30f2e7b5 222 wait(time);
Leitner 2:020d30f2e7b5 223 }
Leitner 2:020d30f2e7b5 224 char ledValue;
Leitner 2:020d30f2e7b5 225 int main ()
Leitner 2:020d30f2e7b5 226 {
Leitner 2:020d30f2e7b5 227
Leitner 2:020d30f2e7b5 228 switchLeds(EEEE, 2.0);
Leitner 2:020d30f2e7b5 229 switchLeds(aaaa, 2.0);
Leitner 2:020d30f2e7b5 230
Leitner 2:020d30f2e7b5 231
Leitner 2:020d30f2e7b5 232 while(1)
Leitner 2:020d30f2e7b5 233 {
Leitner 2:020d30f2e7b5 234 for(int i=0; i<6; i++)
Leitner 2:020d30f2e7b5 235 {
Leitner 2:020d30f2e7b5 236 Leds = 0x8;
Leitner 2:020d30f2e7b5 237 wait(0.5);
Leitner 2:020d30f2e7b5 238 Leds = Leds >> 1;
Leitner 2:020d30f2e7b5 239 wait(0.5);
Leitner 2:020d30f2e7b5 240 Leds = Leds >> 1;
Leitner 2:020d30f2e7b5 241 wait(0.5);
Leitner 2:020d30f2e7b5 242 Leds = Leds >> 1;
Leitner 2:020d30f2e7b5 243 wait(0.5);
Leitner 2:020d30f2e7b5 244 }
Leitner 2:020d30f2e7b5 245 for(int i=0; i<4; i++)
Leitner 2:020d30f2e7b5 246 {
Leitner 2:020d30f2e7b5 247 Leds = 0x0;
Leitner 2:020d30f2e7b5 248 wait(0.5);
Leitner 2:020d30f2e7b5 249 Leds = 0x1;
Leitner 2:020d30f2e7b5 250 wait(0.5);
Leitner 2:020d30f2e7b5 251 Leds = Leds << 1;
Leitner 2:020d30f2e7b5 252 wait(0.5);
Leitner 2:020d30f2e7b5 253 Leds = Leds << 1;
Leitner 2:020d30f2e7b5 254 wait(0.5);
Leitner 2:020d30f2e7b5 255 Leds = Leds << 1;
Leitner 2:020d30f2e7b5 256 wait(0.5);
Leitner 2:020d30f2e7b5 257 }
Leitner 2:020d30f2e7b5 258 }
Leitner 2:020d30f2e7b5 259 }
Leitner 2:020d30f2e7b5 260 */
Leitner 2:020d30f2e7b5 261 // ÜBUNG 2: C
Leitner 2:020d30f2e7b5 262 /*
Leitner 2:020d30f2e7b5 263 void switchLeds(int Busvalue, double time)
Leitner 2:020d30f2e7b5 264 {
Leitner 2:020d30f2e7b5 265 Leds = Busvalue;
Leitner 2:020d30f2e7b5 266 wait(time);
Leitner 2:020d30f2e7b5 267 }
Leitner 2:020d30f2e7b5 268 char ledValue;
Leitner 2:020d30f2e7b5 269 int main ()
Leitner 2:020d30f2e7b5 270 {
Leitner 2:020d30f2e7b5 271
Leitner 2:020d30f2e7b5 272 switchLeds(EEEE, 2.0);
Leitner 2:020d30f2e7b5 273 switchLeds(aaaa, 2.0);
Leitner 2:020d30f2e7b5 274
Leitner 2:020d30f2e7b5 275
Leitner 2:020d30f2e7b5 276 while(1)
Leitner 2:020d30f2e7b5 277 {
Leitner 2:020d30f2e7b5 278 for(int i=0; i<6; i++)
Leitner 2:020d30f2e7b5 279 {
Leitner 2:020d30f2e7b5 280 Leds = 0x8;
Leitner 2:020d30f2e7b5 281 wait(0.5);
Leitner 2:020d30f2e7b5 282 Leds = 0xC;
Leitner 2:020d30f2e7b5 283 wait(0.5);
Leitner 2:020d30f2e7b5 284 Leds = Leds >> 1;
Leitner 2:020d30f2e7b5 285 wait(0.5);
Leitner 2:020d30f2e7b5 286 Leds = Leds >> 1;
Leitner 2:020d30f2e7b5 287 wait(0.5);
Leitner 2:020d30f2e7b5 288 Leds = Leds >> 1;
Leitner 2:020d30f2e7b5 289 wait(0.5);
Leitner 2:020d30f2e7b5 290 }
Leitner 2:020d30f2e7b5 291 for(int i=0; i<4; i++)
Leitner 2:020d30f2e7b5 292 {
Leitner 2:020d30f2e7b5 293 Leds = 0x0;
Leitner 2:020d30f2e7b5 294 wait(0.33);
Leitner 2:020d30f2e7b5 295 Leds = 0x1;
Leitner 2:020d30f2e7b5 296 wait(0.33);
Leitner 2:020d30f2e7b5 297 Leds = 0x3;
Leitner 2:020d30f2e7b5 298 wait(0.33);
Leitner 2:020d30f2e7b5 299 Leds = Leds << 1;
Leitner 2:020d30f2e7b5 300 wait(0.33);
Leitner 2:020d30f2e7b5 301 Leds = Leds << 1;
Leitner 2:020d30f2e7b5 302 wait(0.33);
Leitner 2:020d30f2e7b5 303 Leds = Leds << 1;
Leitner 2:020d30f2e7b5 304 wait(0.33);
Leitner 2:020d30f2e7b5 305 }
Leitner 2:020d30f2e7b5 306 }
Leitner 2:020d30f2e7b5 307 }
Leitner 2:020d30f2e7b5 308 */
Leitner 2:020d30f2e7b5 309 // ÜBUNG 2: D | E
Leitner 2:020d30f2e7b5 310 /*
Leitner 2:020d30f2e7b5 311 void switchLeds(int Busvalue, double time)
Leitner 2:020d30f2e7b5 312 {
Leitner 2:020d30f2e7b5 313 Leds = Busvalue;
Leitner 2:020d30f2e7b5 314 wait(time);
Leitner 2:020d30f2e7b5 315 }
Leitner 2:020d30f2e7b5 316 char ledValue;
Leitner 2:020d30f2e7b5 317 int main ()
Leitner 2:020d30f2e7b5 318 {
Leitner 2:020d30f2e7b5 319 RGBLed = 15;
Leitner 2:020d30f2e7b5 320 while(1)
Leitner 2:020d30f2e7b5 321 {
Leitner 2:020d30f2e7b5 322 RGBLed = 6;
Leitner 2:020d30f2e7b5 323 wait(20);
Leitner 2:020d30f2e7b5 324 RGBLed = 4;
Leitner 2:020d30f2e7b5 325 Leds = 0x6;
Leitner 2:020d30f2e7b5 326 wait(4);
Leitner 2:020d30f2e7b5 327 RGBLed = 5;
Leitner 2:020d30f2e7b5 328 wait(14);
Leitner 2:020d30f2e7b5 329 for(int i=0; i<4; i++)
Leitner 2:020d30f2e7b5 330 {
Leitner 2:020d30f2e7b5 331 RGBLed = 7;
Leitner 2:020d30f2e7b5 332 wait(0.5);
Leitner 2:020d30f2e7b5 333 RGBLed = 5;
Leitner 2:020d30f2e7b5 334 wait(0.5);
Leitner 2:020d30f2e7b5 335 }
Leitner 2:020d30f2e7b5 336 RGBLed = 4;
Leitner 2:020d30f2e7b5 337 Leds = 0x6;
Leitner 2:020d30f2e7b5 338 wait(5);
Leitner 2:020d30f2e7b5 339
Leitner 2:020d30f2e7b5 340 }
Leitner 2:020d30f2e7b5 341 }
Leitner 2:020d30f2e7b5 342 */
Leitner 2:020d30f2e7b5 343 // ÜBUNG 2: F
Leitner 2:020d30f2e7b5 344
Leitner 2:020d30f2e7b5 345 /*
Leitner 2:020d30f2e7b5 346 void tlRed(int msec)
Leitner 2:020d30f2e7b5 347 {
Leitner 2:020d30f2e7b5 348 RGBLed = 6;
Leitner 2:020d30f2e7b5 349 wait_ms(msec);
Leitner 2:020d30f2e7b5 350 }
Leitner 2:020d30f2e7b5 351 void tlRedYellow(int msec, int addBlueLeds)
Leitner 2:020d30f2e7b5 352 {
Leitner 2:020d30f2e7b5 353 RGBLed = 4;
Leitner 2:020d30f2e7b5 354
Leitner 2:020d30f2e7b5 355 Leds = addBlueLeds;
Leitner 2:020d30f2e7b5 356 wait_ms(msec);
Leitner 2:020d30f2e7b5 357 Leds = 0;
Leitner 2:020d30f2e7b5 358
Leitner 2:020d30f2e7b5 359 }
Leitner 2:020d30f2e7b5 360 void tlYellow(int msec)
Leitner 2:020d30f2e7b5 361 {
Leitner 2:020d30f2e7b5 362 RGBLed = 4;
Leitner 2:020d30f2e7b5 363 wait_ms(msec);
Leitner 2:020d30f2e7b5 364 }
Leitner 2:020d30f2e7b5 365 void tlGreen(int msec)
Leitner 2:020d30f2e7b5 366 {
Leitner 2:020d30f2e7b5 367 RGBLed = 5;
Leitner 2:020d30f2e7b5 368 wait_ms(msec);
Leitner 2:020d30f2e7b5 369 }
Leitner 2:020d30f2e7b5 370 void tlBlinkGreen(int howOften, int periodeMsec)
Leitner 2:020d30f2e7b5 371 {
Leitner 2:020d30f2e7b5 372 for(int i=0; i<howOften; i++)
Leitner 2:020d30f2e7b5 373 {
Leitner 2:020d30f2e7b5 374 RGBLed = 7;
Leitner 2:020d30f2e7b5 375 wait_ms((periodeMsec / 2));
Leitner 2:020d30f2e7b5 376 RGBLed = 5;
Leitner 2:020d30f2e7b5 377 wait_ms((periodeMsec / 2));
Leitner 2:020d30f2e7b5 378 }
Leitner 2:020d30f2e7b5 379 }
Leitner 2:020d30f2e7b5 380 void tlClear()
Leitner 2:020d30f2e7b5 381 {
Leitner 2:020d30f2e7b5 382 RGBLed = 7;
Leitner 2:020d30f2e7b5 383 }
Leitner 2:020d30f2e7b5 384 char ledValue;
Leitner 2:020d30f2e7b5 385 int main ()
Leitner 2:020d30f2e7b5 386 {
Leitner 2:020d30f2e7b5 387 tlClear();
Leitner 2:020d30f2e7b5 388 while(1)
Leitner 2:020d30f2e7b5 389 {
Leitner 2:020d30f2e7b5 390 tlRed(20000);
Leitner 2:020d30f2e7b5 391 tlRedYellow(4000, 6);
Leitner 2:020d30f2e7b5 392 tlGreen(14000);
Leitner 2:020d30f2e7b5 393 tlBlinkGreen(4, 1000);
Leitner 2:020d30f2e7b5 394 tlYellow(5000);
Leitner 2:020d30f2e7b5 395
Leitner 2:020d30f2e7b5 396
Leitner 2:020d30f2e7b5 397 }
Leitner 2:020d30f2e7b5 398 }
Leitner 2:020d30f2e7b5 399 */
Leitner 2:020d30f2e7b5 400 // Übung 3: A
Leitner 2:020d30f2e7b5 401 /*
Leitner 2:020d30f2e7b5 402 int a = 0;
Leitner 2:020d30f2e7b5 403 int i = 0;
Leitner 2:020d30f2e7b5 404 int main ()
Leitner 2:020d30f2e7b5 405 {
Leitner 2:020d30f2e7b5 406 while(1)
Leitner 2:020d30f2e7b5 407 {
Leitner 2:020d30f2e7b5 408 while(a < 15)
Leitner 2:020d30f2e7b5 409 {
Leitner 2:020d30f2e7b5 410 a++;
Leitner 2:020d30f2e7b5 411 wait(1);
Leitner 2:020d30f2e7b5 412 fs.printf("Zaehlerstand = %i, Anzahl der Ueberlaufe = %i\n", a, i);
Leitner 2:020d30f2e7b5 413
Leitner 2:020d30f2e7b5 414 }
Leitner 2:020d30f2e7b5 415 i++;
Leitner 2:020d30f2e7b5 416 a = 0;
simon 0:fb6bbc10ffa0 417 }
simon 0:fb6bbc10ffa0 418 }
Leitner 2:020d30f2e7b5 419 */
Leitner 2:020d30f2e7b5 420 // Übung 3: B
Leitner 2:020d30f2e7b5 421 /*
Leitner 2:020d30f2e7b5 422 int durchlaeufe = 0;
Leitner 2:020d30f2e7b5 423 void tlRed(int msec)
Leitner 2:020d30f2e7b5 424 {
Leitner 2:020d30f2e7b5 425 float sec = msec / 1000;
Leitner 2:020d30f2e7b5 426 RGBLed = 6;
Leitner 2:020d30f2e7b5 427 fs.printf("Phase: ROT, Dauer = %lfsec, Anzahl der Ampeldurchlaeufe = %i\n", sec, durchlaeufe);
Leitner 2:020d30f2e7b5 428 wait_ms(msec);
Leitner 2:020d30f2e7b5 429 }
Leitner 2:020d30f2e7b5 430 void tlRedYellow(int msec, int addBlueLeds)
Leitner 2:020d30f2e7b5 431 {
Leitner 2:020d30f2e7b5 432 float sec = msec / 1000;
Leitner 2:020d30f2e7b5 433 RGBLed = 4;
Leitner 2:020d30f2e7b5 434 fs.printf("Phase: ROTGELB, Dauer = %lfsec, Anzahl der Ampeldurchlaeufe = %i\n", sec, durchlaeufe);
Leitner 2:020d30f2e7b5 435 Leds = addBlueLeds;
Leitner 2:020d30f2e7b5 436 wait_ms(msec);
Leitner 2:020d30f2e7b5 437 Leds = 0;
Leitner 2:020d30f2e7b5 438
Leitner 2:020d30f2e7b5 439 }
Leitner 2:020d30f2e7b5 440 void tlYellow(int msec)
Leitner 2:020d30f2e7b5 441 {
Leitner 2:020d30f2e7b5 442 float sec = msec / 1000;
Leitner 2:020d30f2e7b5 443 RGBLed = 4;
Leitner 2:020d30f2e7b5 444 fs.printf("Phase: GELB, Dauer = %lfsec, Anzahl der Ampeldurchlaeufe = %i\n", sec, durchlaeufe);
Leitner 2:020d30f2e7b5 445 wait_ms(msec);
Leitner 2:020d30f2e7b5 446 }
Leitner 2:020d30f2e7b5 447 void tlGreen(int msec)
Leitner 2:020d30f2e7b5 448 {
Leitner 2:020d30f2e7b5 449 float sec = msec / 1000;
Leitner 2:020d30f2e7b5 450 RGBLed = 5;
Leitner 2:020d30f2e7b5 451 fs.printf("Phase: GRUEN, Dauer = %lfsec, Anzahl der Ampeldurchlaeufe = %i\n", sec, durchlaeufe);
Leitner 2:020d30f2e7b5 452 wait_ms(msec);
Leitner 2:020d30f2e7b5 453 }
Leitner 2:020d30f2e7b5 454 void tlBlinkGreen(int howOften, int periodeMsec)
Leitner 2:020d30f2e7b5 455 {
Leitner 2:020d30f2e7b5 456 float sec = periodeMsec / 1000;
Leitner 2:020d30f2e7b5 457 fs.printf("Phase: GRUENBLINKEN, Dauer = %lfsec, Anzahl der Ampeldurchlaeufe = %i\n", sec, durchlaeufe);
Leitner 2:020d30f2e7b5 458 for(int i=0; i<howOften; i++)
Leitner 2:020d30f2e7b5 459 {
Leitner 2:020d30f2e7b5 460 RGBLed = 7;
Leitner 2:020d30f2e7b5 461 wait_ms((periodeMsec / 2));
Leitner 2:020d30f2e7b5 462 RGBLed = 5;
Leitner 2:020d30f2e7b5 463 wait_ms((periodeMsec / 2));
Leitner 2:020d30f2e7b5 464 }
Leitner 2:020d30f2e7b5 465 }
Leitner 2:020d30f2e7b5 466 void tlClear()
Leitner 2:020d30f2e7b5 467 {
Leitner 2:020d30f2e7b5 468 RGBLed = 7;
Leitner 2:020d30f2e7b5 469 }
Leitner 2:020d30f2e7b5 470 char ledValue;
Leitner 2:020d30f2e7b5 471 int main ()
Leitner 2:020d30f2e7b5 472 {
Leitner 2:020d30f2e7b5 473 tlClear();
Leitner 2:020d30f2e7b5 474 while(1)
Leitner 2:020d30f2e7b5 475 {
Leitner 2:020d30f2e7b5 476 tlRed(20000);
Leitner 2:020d30f2e7b5 477 tlRedYellow(4000, 6);
Leitner 2:020d30f2e7b5 478 tlGreen(14000);
Leitner 2:020d30f2e7b5 479 tlBlinkGreen(4, 1000);
Leitner 2:020d30f2e7b5 480 tlYellow(5000);
Leitner 2:020d30f2e7b5 481 durchlaeufe++;
Leitner 2:020d30f2e7b5 482
Leitner 2:020d30f2e7b5 483
Leitner 2:020d30f2e7b5 484 }
Leitner 2:020d30f2e7b5 485 }
Leitner 2:020d30f2e7b5 486 */
Leitner 2:020d30f2e7b5 487 // Übung 3: C
Leitner 2:020d30f2e7b5 488 /*
Leitner 2:020d30f2e7b5 489 int auf = 0;
Leitner 2:020d30f2e7b5 490 int ab = 0;
Leitner 2:020d30f2e7b5 491 int zaehlerstand = 0;
Leitner 2:020d30f2e7b5 492 void switchLeds(char led1, char led2, char led3, char led4, float time)
Leitner 2:020d30f2e7b5 493 {
Leitner 2:020d30f2e7b5 494 if(led1 == 'E') myled1 = 1;
Leitner 2:020d30f2e7b5 495 else myled1 = 0;
Leitner 2:020d30f2e7b5 496 if(led2 == 'E') myled2 = 1;
Leitner 2:020d30f2e7b5 497 else myled2 = 0;
Leitner 2:020d30f2e7b5 498 if(led3 == 'E') myled3 = 1;
Leitner 2:020d30f2e7b5 499 else myled3 = 0;
Leitner 2:020d30f2e7b5 500 if(led4 == 'E') myled4 = 1;
Leitner 2:020d30f2e7b5 501 else myled4 = 0;
Leitner 2:020d30f2e7b5 502 wait(time);
Leitner 2:020d30f2e7b5 503 }
Leitner 2:020d30f2e7b5 504 void zaehlerAuf()
Leitner 2:020d30f2e7b5 505 {
Leitner 2:020d30f2e7b5 506 auf++;
Leitner 2:020d30f2e7b5 507 RGBLed = 3;
Leitner 2:020d30f2e7b5 508 switchLeds('a','a','a','a', 0.5);
Leitner 2:020d30f2e7b5 509 zaehlerstand = 0;
Leitner 2:020d30f2e7b5 510 fs.printf("Zaehlerstand: %i ,Abwaertszyklen: %i ,Aufwaertszyklen: %i\n", zaehlerstand, ab, auf);
Leitner 2:020d30f2e7b5 511 switchLeds('a','a','a','E', 0.5);
Leitner 2:020d30f2e7b5 512 zaehlerstand++;
Leitner 2:020d30f2e7b5 513 fs.printf("Zaehlerstand: %i Abwaertszyklen: %i Aufwaertszyklen: %i\n", zaehlerstand, ab, auf);
Leitner 2:020d30f2e7b5 514 switchLeds('a','a','E','a', 0.5);
Leitner 2:020d30f2e7b5 515 zaehlerstand++;
Leitner 2:020d30f2e7b5 516 fs.printf("Zaehlerstand: %i Abwaertszyklen: %i Aufwaertszyklen: %i\n", zaehlerstand, ab, auf);
Leitner 2:020d30f2e7b5 517 switchLeds('a','a','E','E', 0.5);
Leitner 2:020d30f2e7b5 518 zaehlerstand++;
Leitner 2:020d30f2e7b5 519 fs.printf("Zaehlerstand: %i Abwaertszyklen: %i Aufwaertszyklen: %i\n", zaehlerstand, ab, auf);
Leitner 2:020d30f2e7b5 520 switchLeds('a','E','a','a', 0.5);
Leitner 2:020d30f2e7b5 521 zaehlerstand++;
Leitner 2:020d30f2e7b5 522 fs.printf("Zaehlerstand: %i Abwaertszyklen: %i Aufwaertszyklen: %i\n", zaehlerstand, ab, auf);
Leitner 2:020d30f2e7b5 523 switchLeds('a','E','a','E', 0.5);
Leitner 2:020d30f2e7b5 524 zaehlerstand++;
Leitner 2:020d30f2e7b5 525 fs.printf("Zaehlerstand: %i Abwaertszyklen: %i Aufwaertszyklen: %i\n", zaehlerstand, ab, auf);
Leitner 2:020d30f2e7b5 526 switchLeds('a','E','E','a', 0.5);
Leitner 2:020d30f2e7b5 527 zaehlerstand++;
Leitner 2:020d30f2e7b5 528 fs.printf("Zaehlerstand: %i Abwaertszyklen: %i Aufwaertszyklen: %i\n", zaehlerstand, ab, auf);
Leitner 2:020d30f2e7b5 529 switchLeds('a','E','E','E', 0.5);
Leitner 2:020d30f2e7b5 530 zaehlerstand++;
Leitner 2:020d30f2e7b5 531 fs.printf("Zaehlerstand: %i Abwaertszyklen: %i Aufwaertszyklen: %i\n", zaehlerstand, ab, auf);
Leitner 2:020d30f2e7b5 532 switchLeds('E','a','a','a', 0.5);
Leitner 2:020d30f2e7b5 533 zaehlerstand++;
Leitner 2:020d30f2e7b5 534 fs.printf("Zaehlerstand: %i Abwaertszyklen: %i Aufwaertszyklen: %i\n", zaehlerstand, ab, auf);
Leitner 2:020d30f2e7b5 535 switchLeds('E','a','a','E', 0.5);
Leitner 2:020d30f2e7b5 536 zaehlerstand++;
Leitner 2:020d30f2e7b5 537 fs.printf("Zaehlerstand: %i Abwaertszyklen: %i Aufwaertszyklen: %i\n", zaehlerstand, ab, auf);
Leitner 2:020d30f2e7b5 538 switchLeds('E','a','E','a', 0.5);
Leitner 2:020d30f2e7b5 539 zaehlerstand++;
Leitner 2:020d30f2e7b5 540 fs.printf("Zaehlerstand: %i Abwaertszyklen: %i Aufwaertszyklen: %i\n", zaehlerstand, ab, auf);
Leitner 2:020d30f2e7b5 541 switchLeds('E','a','E','E', 0.5);
Leitner 2:020d30f2e7b5 542 zaehlerstand++;
Leitner 2:020d30f2e7b5 543 fs.printf("Zaehlerstand: %i Abwaertszyklen: %i Aufwaertszyklen: %i\n", zaehlerstand, ab, auf);
Leitner 2:020d30f2e7b5 544 switchLeds('E','E','a','a', 0.5);
Leitner 2:020d30f2e7b5 545 zaehlerstand++;
Leitner 2:020d30f2e7b5 546 fs.printf("Zaehlerstand: %i Abwaertszyklen: %i Aufwaertszyklen: %i\n", zaehlerstand, ab, auf);
Leitner 2:020d30f2e7b5 547 switchLeds('E','E','a','E', 0.5);
Leitner 2:020d30f2e7b5 548 zaehlerstand++;
Leitner 2:020d30f2e7b5 549 fs.printf("Zaehlerstand: %i Abwaertszyklen: %i Aufwaertszyklen: %i\n", zaehlerstand, ab, auf);
Leitner 2:020d30f2e7b5 550 switchLeds('E','E','E','a', 0.5);
Leitner 2:020d30f2e7b5 551 zaehlerstand++;
Leitner 2:020d30f2e7b5 552 fs.printf("Zaehlerstand: %i Abwaertszyklen: %i Aufwaertszyklen: %i\n", zaehlerstand, ab, auf);
Leitner 2:020d30f2e7b5 553 switchLeds('E','E','E','E', 0.5);
Leitner 2:020d30f2e7b5 554 zaehlerstand++;
Leitner 2:020d30f2e7b5 555 fs.printf("Zaehlerstand: %i Abwaertszyklen: %i Aufwaertszyklen: %i\n", zaehlerstand, ab, auf);
Leitner 2:020d30f2e7b5 556
Leitner 2:020d30f2e7b5 557 }
Leitner 2:020d30f2e7b5 558 void zaehlerAb()
Leitner 2:020d30f2e7b5 559 {
Leitner 2:020d30f2e7b5 560 ab++;
Leitner 2:020d30f2e7b5 561 RGBLed = 6;
Leitner 2:020d30f2e7b5 562 switchLeds('E','E','E','E', 0.5);
Leitner 2:020d30f2e7b5 563 zaehlerstand = 15;
Leitner 2:020d30f2e7b5 564 fs.printf("Zaehlerstand: %i Abwaertszyklen: %i Aufwaertszyklen: %i\n", zaehlerstand, ab, auf);
Leitner 2:020d30f2e7b5 565 switchLeds('E','E','E','a', 0.5);
Leitner 2:020d30f2e7b5 566 zaehlerstand--;
Leitner 2:020d30f2e7b5 567 fs.printf("Zaehlerstand: %i Abwaertszyklen: %i Aufwaertszyklen: %i\n", zaehlerstand, ab, auf);
Leitner 2:020d30f2e7b5 568 switchLeds('E','E','a','E', 0.5);
Leitner 2:020d30f2e7b5 569 zaehlerstand--;
Leitner 2:020d30f2e7b5 570 fs.printf("Zaehlerstand: %i Abwaertszyklen: %i Aufwaertszyklen: %i\n", zaehlerstand, ab, auf);
Leitner 2:020d30f2e7b5 571 switchLeds('E','E','a','a', 0.5);
Leitner 2:020d30f2e7b5 572 zaehlerstand--;
Leitner 2:020d30f2e7b5 573 fs.printf("Zaehlerstand: %i Abwaertszyklen: %i Aufwaertszyklen: %i\n", zaehlerstand, ab, auf);
Leitner 2:020d30f2e7b5 574 switchLeds('E','a','E','E', 0.5);
Leitner 2:020d30f2e7b5 575 zaehlerstand--;
Leitner 2:020d30f2e7b5 576 fs.printf("Zaehlerstand: %i Abwaertszyklen: %i Aufwaertszyklen: %i\n", zaehlerstand, ab, auf);
Leitner 2:020d30f2e7b5 577 switchLeds('E','a','E','a', 0.5);
Leitner 2:020d30f2e7b5 578 zaehlerstand--;
Leitner 2:020d30f2e7b5 579 fs.printf("Zaehlerstand: %i Abwaertszyklen: %i Aufwaertszyklen: %i\n", zaehlerstand, ab, auf);
Leitner 2:020d30f2e7b5 580 switchLeds('E','a','a','E', 0.5);
Leitner 2:020d30f2e7b5 581 zaehlerstand--;
Leitner 2:020d30f2e7b5 582 fs.printf("Zaehlerstand: %i Abwaertszyklen: %i Aufwaertszyklen: %i\n", zaehlerstand, ab, auf);
Leitner 2:020d30f2e7b5 583 switchLeds('E','a','a','a', 0.5);
Leitner 2:020d30f2e7b5 584 zaehlerstand--;
Leitner 2:020d30f2e7b5 585 fs.printf("Zaehlerstand: %i Abwaertszyklen: %i Aufwaertszyklen: %i\n", zaehlerstand, ab, auf);
Leitner 2:020d30f2e7b5 586 switchLeds('a','E','E','E', 0.5);
Leitner 2:020d30f2e7b5 587 zaehlerstand--;
Leitner 2:020d30f2e7b5 588 fs.printf("Zaehlerstand: %i Abwaertszyklen: %i Aufwaertszyklen: %i\n", zaehlerstand, ab, auf);
Leitner 2:020d30f2e7b5 589 switchLeds('a','E','E','a', 0.5);
Leitner 2:020d30f2e7b5 590 zaehlerstand--;
Leitner 2:020d30f2e7b5 591 fs.printf("Zaehlerstand: %i Abwaertszyklen: %i Aufwaertszyklen: %i\n", zaehlerstand, ab, auf);
Leitner 2:020d30f2e7b5 592 switchLeds('a','E','a','E', 0.5);
Leitner 2:020d30f2e7b5 593 zaehlerstand--;
Leitner 2:020d30f2e7b5 594 fs.printf("Zaehlerstand: %i Abwaertszyklen: %i Aufwaertszyklen: %i\n", zaehlerstand, ab, auf);
Leitner 2:020d30f2e7b5 595 switchLeds('a','E','a','a', 0.5);
Leitner 2:020d30f2e7b5 596 zaehlerstand--;
Leitner 2:020d30f2e7b5 597 fs.printf("Zaehlerstand: %i Abwaertszyklen: %i Aufwaertszyklen: %i\n", zaehlerstand, ab, auf);
Leitner 2:020d30f2e7b5 598 switchLeds('a','a','E','E', 0.5);
Leitner 2:020d30f2e7b5 599 zaehlerstand--;
Leitner 2:020d30f2e7b5 600 fs.printf("Zaehlerstand: %i Abwaertszyklen: %i Aufwaertszyklen: %i\n", zaehlerstand, ab, auf);
Leitner 2:020d30f2e7b5 601 switchLeds('a','a','E','a', 0.5);
Leitner 2:020d30f2e7b5 602 zaehlerstand--;
Leitner 2:020d30f2e7b5 603 fs.printf("Zaehlerstand: %i Abwaertszyklen: %i Aufwaertszyklen: %i\n", zaehlerstand, ab, auf);
Leitner 2:020d30f2e7b5 604 switchLeds('a','a','a','E', 0.5);
Leitner 2:020d30f2e7b5 605 zaehlerstand--;
Leitner 2:020d30f2e7b5 606 fs.printf("Zaehlerstand: %i Abwaertszyklen: %i Aufwaertszyklen: %i\n", zaehlerstand, ab, auf);
Leitner 2:020d30f2e7b5 607 switchLeds('a','a','a','a', 0.5);
Leitner 2:020d30f2e7b5 608 zaehlerstand--;
Leitner 2:020d30f2e7b5 609 fs.printf("Zaehlerstand: %i Abwaertszyklen: %i Aufwaertszyklen: %i\n", zaehlerstand, ab, auf);
Leitner 2:020d30f2e7b5 610
Leitner 2:020d30f2e7b5 611
Leitner 2:020d30f2e7b5 612 }
Leitner 2:020d30f2e7b5 613 int main ()
Leitner 2:020d30f2e7b5 614 {
Leitner 2:020d30f2e7b5 615 RGBLed = 7;
Leitner 2:020d30f2e7b5 616 while(1)
Leitner 2:020d30f2e7b5 617 {
Leitner 2:020d30f2e7b5 618 RGBLed = 4;
Leitner 2:020d30f2e7b5 619 switchLeds('a','a','a','a', 0.5);
Leitner 2:020d30f2e7b5 620 fs.printf("Bitte eingeben ob der Zaehler auf [u] oder ab [d] zaehlen soll: \n");
Leitner 2:020d30f2e7b5 621 char richtung = fs.getc();
Leitner 2:020d30f2e7b5 622 if (richtung == 'u')
Leitner 2:020d30f2e7b5 623 {
Leitner 2:020d30f2e7b5 624 zaehlerAuf();
Leitner 2:020d30f2e7b5 625 }
Leitner 2:020d30f2e7b5 626 else if (richtung == 'd')
Leitner 2:020d30f2e7b5 627 {
Leitner 2:020d30f2e7b5 628 zaehlerAb();
Leitner 2:020d30f2e7b5 629 }
Leitner 2:020d30f2e7b5 630 else
Leitner 2:020d30f2e7b5 631 {
Leitner 2:020d30f2e7b5 632 fs.printf("Fehler\n");
Leitner 2:020d30f2e7b5 633 }
Leitner 2:020d30f2e7b5 634 }
Leitner 2:020d30f2e7b5 635 }
Leitner 2:020d30f2e7b5 636 */
Leitner 2:020d30f2e7b5 637 // Übung 3: D
Leitner 2:020d30f2e7b5 638 /*
Leitner 2:020d30f2e7b5 639 int auf = 0;
Leitner 2:020d30f2e7b5 640 int ab = 0;
Leitner 2:020d30f2e7b5 641 int zaehlerstand = 0;
Leitner 2:020d30f2e7b5 642 float frequenz = 0;
Leitner 2:020d30f2e7b5 643 int frequenzEingabe;
Leitner 2:020d30f2e7b5 644 void switchLeds(char led1, char led2, char led3, char led4, float time)
Leitner 2:020d30f2e7b5 645 {
Leitner 2:020d30f2e7b5 646 if(led1 == 'E') myled1 = 1;
Leitner 2:020d30f2e7b5 647 else myled1 = 0;
Leitner 2:020d30f2e7b5 648 if(led2 == 'E') myled2 = 1;
Leitner 2:020d30f2e7b5 649 else myled2 = 0;
Leitner 2:020d30f2e7b5 650 if(led3 == 'E') myled3 = 1;
Leitner 2:020d30f2e7b5 651 else myled3 = 0;
Leitner 2:020d30f2e7b5 652 if(led4 == 'E') myled4 = 1;
Leitner 2:020d30f2e7b5 653 else myled4 = 0;
Leitner 2:020d30f2e7b5 654 wait(time);
Leitner 2:020d30f2e7b5 655 }
Leitner 2:020d30f2e7b5 656 void zaehlerAuf()
Leitner 2:020d30f2e7b5 657 {
Leitner 2:020d30f2e7b5 658 auf++;
Leitner 2:020d30f2e7b5 659 RGBLed = 3;
Leitner 2:020d30f2e7b5 660 switchLeds('a','a','a','a', frequenz);
Leitner 2:020d30f2e7b5 661 zaehlerstand = 0;
Leitner 2:020d30f2e7b5 662 fs.printf("Zaehlerstand: %i ,Abwaertszyklen: %i ,Aufwaertszyklen: %i\n", zaehlerstand, ab, auf);
Leitner 2:020d30f2e7b5 663 switchLeds('a','a','a','E', frequenz);
Leitner 2:020d30f2e7b5 664 zaehlerstand++;
Leitner 2:020d30f2e7b5 665 fs.printf("Zaehlerstand: %i Abwaertszyklen: %i Aufwaertszyklen: %i\n", zaehlerstand, ab, auf);
Leitner 2:020d30f2e7b5 666 switchLeds('a','a','E','a', frequenz);
Leitner 2:020d30f2e7b5 667 zaehlerstand++;
Leitner 2:020d30f2e7b5 668 fs.printf("Zaehlerstand: %i Abwaertszyklen: %i Aufwaertszyklen: %i\n", zaehlerstand, ab, auf);
Leitner 2:020d30f2e7b5 669 switchLeds('a','a','E','E', frequenz);
Leitner 2:020d30f2e7b5 670 zaehlerstand++;
Leitner 2:020d30f2e7b5 671 fs.printf("Zaehlerstand: %i Abwaertszyklen: %i Aufwaertszyklen: %i\n", zaehlerstand, ab, auf);
Leitner 2:020d30f2e7b5 672 switchLeds('a','E','a','a', frequenz);
Leitner 2:020d30f2e7b5 673 zaehlerstand++;
Leitner 2:020d30f2e7b5 674 fs.printf("Zaehlerstand: %i Abwaertszyklen: %i Aufwaertszyklen: %i\n", zaehlerstand, ab, auf);
Leitner 2:020d30f2e7b5 675 switchLeds('a','E','a','E', frequenz);
Leitner 2:020d30f2e7b5 676 zaehlerstand++;
Leitner 2:020d30f2e7b5 677 fs.printf("Zaehlerstand: %i Abwaertszyklen: %i Aufwaertszyklen: %i\n", zaehlerstand, ab, auf);
Leitner 2:020d30f2e7b5 678 switchLeds('a','E','E','a', frequenz);
Leitner 2:020d30f2e7b5 679 zaehlerstand++;
Leitner 2:020d30f2e7b5 680 fs.printf("Zaehlerstand: %i Abwaertszyklen: %i Aufwaertszyklen: %i\n", zaehlerstand, ab, auf);
Leitner 2:020d30f2e7b5 681 switchLeds('a','E','E','E', frequenz);
Leitner 2:020d30f2e7b5 682 zaehlerstand++;
Leitner 2:020d30f2e7b5 683 fs.printf("Zaehlerstand: %i Abwaertszyklen: %i Aufwaertszyklen: %i\n", zaehlerstand, ab, auf);
Leitner 2:020d30f2e7b5 684 switchLeds('E','a','a','a', frequenz);
Leitner 2:020d30f2e7b5 685 zaehlerstand++;
Leitner 2:020d30f2e7b5 686 fs.printf("Zaehlerstand: %i Abwaertszyklen: %i Aufwaertszyklen: %i\n", zaehlerstand, ab, auf);
Leitner 2:020d30f2e7b5 687 switchLeds('E','a','a','E', frequenz);
Leitner 2:020d30f2e7b5 688 zaehlerstand++;
Leitner 2:020d30f2e7b5 689 fs.printf("Zaehlerstand: %i Abwaertszyklen: %i Aufwaertszyklen: %i\n", zaehlerstand, ab, auf);
Leitner 2:020d30f2e7b5 690 switchLeds('E','a','E','a', frequenz);
Leitner 2:020d30f2e7b5 691 zaehlerstand++;
Leitner 2:020d30f2e7b5 692 fs.printf("Zaehlerstand: %i Abwaertszyklen: %i Aufwaertszyklen: %i\n", zaehlerstand, ab, auf);
Leitner 2:020d30f2e7b5 693 switchLeds('E','a','E','E', frequenz);
Leitner 2:020d30f2e7b5 694 zaehlerstand++;
Leitner 2:020d30f2e7b5 695 fs.printf("Zaehlerstand: %i Abwaertszyklen: %i Aufwaertszyklen: %i\n", zaehlerstand, ab, auf);
Leitner 2:020d30f2e7b5 696 switchLeds('E','E','a','a', frequenz);
Leitner 2:020d30f2e7b5 697 zaehlerstand++;
Leitner 2:020d30f2e7b5 698 fs.printf("Zaehlerstand: %i Abwaertszyklen: %i Aufwaertszyklen: %i\n", zaehlerstand, ab, auf);
Leitner 2:020d30f2e7b5 699 switchLeds('E','E','a','E', frequenz);
Leitner 2:020d30f2e7b5 700 zaehlerstand++;
Leitner 2:020d30f2e7b5 701 fs.printf("Zaehlerstand: %i Abwaertszyklen: %i Aufwaertszyklen: %i\n", zaehlerstand, ab, auf);
Leitner 2:020d30f2e7b5 702 switchLeds('E','E','E','a', frequenz);
Leitner 2:020d30f2e7b5 703 zaehlerstand++;
Leitner 2:020d30f2e7b5 704 fs.printf("Zaehlerstand: %i Abwaertszyklen: %i Aufwaertszyklen: %i\n", zaehlerstand, ab, auf);
Leitner 2:020d30f2e7b5 705 switchLeds('E','E','E','E', frequenz);
Leitner 2:020d30f2e7b5 706 zaehlerstand++;
Leitner 2:020d30f2e7b5 707 fs.printf("Zaehlerstand: %i Abwaertszyklen: %i Aufwaertszyklen: %i\n", zaehlerstand, ab, auf);
Leitner 2:020d30f2e7b5 708
Leitner 2:020d30f2e7b5 709 }
Leitner 2:020d30f2e7b5 710 void zaehlerAb()
Leitner 2:020d30f2e7b5 711 {
Leitner 2:020d30f2e7b5 712 ab++;
Leitner 2:020d30f2e7b5 713 RGBLed = 6;
Leitner 2:020d30f2e7b5 714 switchLeds('E','E','E','E', frequenz);
Leitner 2:020d30f2e7b5 715 zaehlerstand = 15;
Leitner 2:020d30f2e7b5 716 fs.printf("Zaehlerstand: %i Abwaertszyklen: %i Aufwaertszyklen: %i\n", zaehlerstand, ab, auf);
Leitner 2:020d30f2e7b5 717 switchLeds('E','E','E','a', frequenz);
Leitner 2:020d30f2e7b5 718 zaehlerstand--;
Leitner 2:020d30f2e7b5 719 fs.printf("Zaehlerstand: %i Abwaertszyklen: %i Aufwaertszyklen: %i\n", zaehlerstand, ab, auf);
Leitner 2:020d30f2e7b5 720 switchLeds('E','E','a','E', frequenz);
Leitner 2:020d30f2e7b5 721 zaehlerstand--;
Leitner 2:020d30f2e7b5 722 fs.printf("Zaehlerstand: %i Abwaertszyklen: %i Aufwaertszyklen: %i\n", zaehlerstand, ab, auf);
Leitner 2:020d30f2e7b5 723 switchLeds('E','E','a','a', frequenz);
Leitner 2:020d30f2e7b5 724 zaehlerstand--;
Leitner 2:020d30f2e7b5 725 fs.printf("Zaehlerstand: %i Abwaertszyklen: %i Aufwaertszyklen: %i\n", zaehlerstand, ab, auf);
Leitner 2:020d30f2e7b5 726 switchLeds('E','a','E','E', frequenz);
Leitner 2:020d30f2e7b5 727 zaehlerstand--;
Leitner 2:020d30f2e7b5 728 fs.printf("Zaehlerstand: %i Abwaertszyklen: %i Aufwaertszyklen: %i\n", zaehlerstand, ab, auf);
Leitner 2:020d30f2e7b5 729 switchLeds('E','a','E','a', frequenz);
Leitner 2:020d30f2e7b5 730 zaehlerstand--;
Leitner 2:020d30f2e7b5 731 fs.printf("Zaehlerstand: %i Abwaertszyklen: %i Aufwaertszyklen: %i\n", zaehlerstand, ab, auf);
Leitner 2:020d30f2e7b5 732 switchLeds('E','a','a','E', frequenz);
Leitner 2:020d30f2e7b5 733 zaehlerstand--;
Leitner 2:020d30f2e7b5 734 fs.printf("Zaehlerstand: %i Abwaertszyklen: %i Aufwaertszyklen: %i\n", zaehlerstand, ab, auf);
Leitner 2:020d30f2e7b5 735 switchLeds('E','a','a','a', frequenz);
Leitner 2:020d30f2e7b5 736 zaehlerstand--;
Leitner 2:020d30f2e7b5 737 fs.printf("Zaehlerstand: %i Abwaertszyklen: %i Aufwaertszyklen: %i\n", zaehlerstand, ab, auf);
Leitner 2:020d30f2e7b5 738 switchLeds('a','E','E','E', frequenz);
Leitner 2:020d30f2e7b5 739 zaehlerstand--;
Leitner 2:020d30f2e7b5 740 fs.printf("Zaehlerstand: %i Abwaertszyklen: %i Aufwaertszyklen: %i\n", zaehlerstand, ab, auf);
Leitner 2:020d30f2e7b5 741 switchLeds('a','E','E','a', frequenz);
Leitner 2:020d30f2e7b5 742 zaehlerstand--;
Leitner 2:020d30f2e7b5 743 fs.printf("Zaehlerstand: %i Abwaertszyklen: %i Aufwaertszyklen: %i\n", zaehlerstand, ab, auf);
Leitner 2:020d30f2e7b5 744 switchLeds('a','E','a','E', frequenz);
Leitner 2:020d30f2e7b5 745 zaehlerstand--;
Leitner 2:020d30f2e7b5 746 fs.printf("Zaehlerstand: %i Abwaertszyklen: %i Aufwaertszyklen: %i\n", zaehlerstand, ab, auf);
Leitner 2:020d30f2e7b5 747 switchLeds('a','E','a','a', frequenz);
Leitner 2:020d30f2e7b5 748 zaehlerstand--;
Leitner 2:020d30f2e7b5 749 fs.printf("Zaehlerstand: %i Abwaertszyklen: %i Aufwaertszyklen: %i\n", zaehlerstand, ab, auf);
Leitner 2:020d30f2e7b5 750 switchLeds('a','a','E','E', frequenz);
Leitner 2:020d30f2e7b5 751 zaehlerstand--;
Leitner 2:020d30f2e7b5 752 fs.printf("Zaehlerstand: %i Abwaertszyklen: %i Aufwaertszyklen: %i\n", zaehlerstand, ab, auf);
Leitner 2:020d30f2e7b5 753 switchLeds('a','a','E','a', frequenz);
Leitner 2:020d30f2e7b5 754 zaehlerstand--;
Leitner 2:020d30f2e7b5 755 fs.printf("Zaehlerstand: %i Abwaertszyklen: %i Aufwaertszyklen: %i\n", zaehlerstand, ab, auf);
Leitner 2:020d30f2e7b5 756 switchLeds('a','a','a','E', frequenz);
Leitner 2:020d30f2e7b5 757 zaehlerstand--;
Leitner 2:020d30f2e7b5 758 fs.printf("Zaehlerstand: %i Abwaertszyklen: %i Aufwaertszyklen: %i\n", zaehlerstand, ab, auf);
Leitner 2:020d30f2e7b5 759 switchLeds('a','a','a','a', frequenz);
Leitner 2:020d30f2e7b5 760 zaehlerstand--;
Leitner 2:020d30f2e7b5 761 fs.printf("Zaehlerstand: %i Abwaertszyklen: %i Aufwaertszyklen: %i\n", zaehlerstand, ab, auf);
Leitner 2:020d30f2e7b5 762
Leitner 2:020d30f2e7b5 763
Leitner 2:020d30f2e7b5 764 }
Leitner 2:020d30f2e7b5 765 int main ()
Leitner 2:020d30f2e7b5 766 {
Leitner 2:020d30f2e7b5 767 RGBLed = 7;
Leitner 2:020d30f2e7b5 768 while(1)
Leitner 2:020d30f2e7b5 769 {
Leitner 2:020d30f2e7b5 770 RGBLed = 4;
Leitner 2:020d30f2e7b5 771 switchLeds('a','a','a','a', 0.5);
Leitner 2:020d30f2e7b5 772 fs.printf("Bitte eingeben ob der Zaehler auf [u] oder ab [d] zaehlen soll: \n");
Leitner 2:020d30f2e7b5 773 char richtung = fs.getc();
Leitner 2:020d30f2e7b5 774 fs.printf("Bitte Frequenz eingeben mit der gezaehlt werden soll\n");
Leitner 2:020d30f2e7b5 775 fs.printf("[1] [2] [3] [4] Hz: \n");
Leitner 2:020d30f2e7b5 776 frequenzEingabe = (int) fs.getc();
Leitner 2:020d30f2e7b5 777
Leitner 2:020d30f2e7b5 778 if (frequenzEingabe == 1)
Leitner 2:020d30f2e7b5 779 {
Leitner 2:020d30f2e7b5 780 frequenz = 1 / frequenzEingabe;
Leitner 2:020d30f2e7b5 781 }
Leitner 2:020d30f2e7b5 782 else if (frequenzEingabe == 2)
Leitner 2:020d30f2e7b5 783 {
Leitner 2:020d30f2e7b5 784 frequenz = 1 / frequenzEingabe;
Leitner 2:020d30f2e7b5 785 }
Leitner 2:020d30f2e7b5 786 else if (frequenzEingabe == 3)
Leitner 2:020d30f2e7b5 787 {
Leitner 2:020d30f2e7b5 788 frequenz = 1 / frequenzEingabe;
Leitner 2:020d30f2e7b5 789 }
Leitner 2:020d30f2e7b5 790 else if (frequenzEingabe == 4)
Leitner 2:020d30f2e7b5 791 {
Leitner 2:020d30f2e7b5 792 frequenz = 1 / frequenzEingabe;
Leitner 2:020d30f2e7b5 793 }
Leitner 2:020d30f2e7b5 794 else
Leitner 2:020d30f2e7b5 795 {
Leitner 2:020d30f2e7b5 796 frequenz = 1 / 1.5;
Leitner 2:020d30f2e7b5 797 }
Leitner 2:020d30f2e7b5 798 if (richtung == 'u')
Leitner 2:020d30f2e7b5 799 {
Leitner 2:020d30f2e7b5 800 zaehlerAuf();
Leitner 2:020d30f2e7b5 801 }
Leitner 2:020d30f2e7b5 802 else if (richtung == 'd')
Leitner 2:020d30f2e7b5 803 {
Leitner 2:020d30f2e7b5 804 zaehlerAb();
Leitner 2:020d30f2e7b5 805 }
Leitner 2:020d30f2e7b5 806 else
Leitner 2:020d30f2e7b5 807 {
Leitner 2:020d30f2e7b5 808 fs.printf("Fehler\n");
Leitner 2:020d30f2e7b5 809 }
Leitner 2:020d30f2e7b5 810 }
Leitner 2:020d30f2e7b5 811 }
Leitner 2:020d30f2e7b5 812 */
Leitner 2:020d30f2e7b5 813 // Übung 3: D / mit LCD / Basierend auf der Lösung
Leitner 2:020d30f2e7b5 814 /*
Leitner 2:020d30f2e7b5 815 #include "mbed.h"
Leitner 2:020d30f2e7b5 816
Leitner 2:020d30f2e7b5 817 #define rgbOFF 7
Leitner 2:020d30f2e7b5 818 #define rgbRED 6
Leitner 2:020d30f2e7b5 819 #define rgbBLUE 3
Leitner 2:020d30f2e7b5 820 #define rgbYELLOW 4
Leitner 2:020d30f2e7b5 821 // global vars and objects
Leitner 2:020d30f2e7b5 822 BusOut blueLeds(LED1, LED2, LED3, LED4);
Leitner 2:020d30f2e7b5 823 BusOut rgbLeds(p23, p24, p25);
Leitner 2:020d30f2e7b5 824
Leitner 2:020d30f2e7b5 825 // functions
Leitner 2:020d30f2e7b5 826
Leitner 2:020d30f2e7b5 827 int main() {
Leitner 2:020d30f2e7b5 828 int cnt=0; // count var
Leitner 2:020d30f2e7b5 829 char countDirection; // Eingabevariable von der seriellen Schnittstelle
Leitner 2:020d30f2e7b5 830 int auf = 0, ab = 0;
Leitner 2:020d30f2e7b5 831 rgbLeds.write(rgbOFF);
Leitner 2:020d30f2e7b5 832 printf("mbed Uebung 3C\r\n");
Leitner 2:020d30f2e7b5 833
Leitner 2:020d30f2e7b5 834 while(1) {
Leitner 2:020d30f2e7b5 835 rgbLeds = rgbYELLOW;
Leitner 2:020d30f2e7b5 836 blueLeds = 0;
Leitner 2:020d30f2e7b5 837 lcd.cls();
Leitner 2:020d30f2e7b5 838 fs.printf("Bitte eingeben ob der Zaehler auf [u] oder ab [d] zaehlen soll:\r\n");
Leitner 2:020d30f2e7b5 839 countDirection = getchar();
Leitner 2:020d30f2e7b5 840
Leitner 2:020d30f2e7b5 841 if (countDirection == 'u') {
Leitner 2:020d30f2e7b5 842 rgbLeds = rgbBLUE;
Leitner 2:020d30f2e7b5 843 auf++;
Leitner 2:020d30f2e7b5 844 for (cnt=0; cnt<=15; cnt++)
Leitner 2:020d30f2e7b5 845 {
Leitner 2:020d30f2e7b5 846 fs.printf("Zaehlerstand: %i Abwaertszyklen: %i Aufwaertszyklen: %i\r\n", cnt, ab, auf);
Leitner 2:020d30f2e7b5 847 lcd.locate(25,10);
Leitner 2:020d30f2e7b5 848 lcd.printf("Zaehlerstand : %i",cnt);
Leitner 2:020d30f2e7b5 849 blueLeds = cnt;
Leitner 2:020d30f2e7b5 850 wait(0.5);
Leitner 2:020d30f2e7b5 851 }
Leitner 2:020d30f2e7b5 852 }
Leitner 2:020d30f2e7b5 853 else if (countDirection == 'd') {
Leitner 2:020d30f2e7b5 854 ab++;
Leitner 2:020d30f2e7b5 855 rgbLeds = rgbRED;
Leitner 2:020d30f2e7b5 856 for (cnt=15; cnt>=0; cnt--)
Leitner 2:020d30f2e7b5 857 {
Leitner 2:020d30f2e7b5 858 lcd.cls();
Leitner 2:020d30f2e7b5 859 fs.printf("Zaehlerstand: %i Abwaertszyklen: %i Aufwaertszyklen: %i\r\n", cnt, ab, auf);
Leitner 2:020d30f2e7b5 860 lcd.locate(25,10);
Leitner 2:020d30f2e7b5 861 lcd.printf("Zaehlerstand : %i",cnt);
Leitner 2:020d30f2e7b5 862 blueLeds = cnt;
Leitner 2:020d30f2e7b5 863 wait(0.5);
Leitner 2:020d30f2e7b5 864 }
Leitner 2:020d30f2e7b5 865 }
Leitner 2:020d30f2e7b5 866 else
Leitner 2:020d30f2e7b5 867 printf("\r\nFehler!\r\n");
Leitner 2:020d30f2e7b5 868 }
Leitner 2:020d30f2e7b5 869 }
Leitner 2:020d30f2e7b5 870 */
Leitner 2:020d30f2e7b5 871 // Übung 4: A
Leitner 2:020d30f2e7b5 872 #include "mbed.h"
Leitner 2:020d30f2e7b5 873 // CENTER UP DOWN LEFT RIGHT
Leitner 2:020d30f2e7b5 874 BusIn joy(p15,p12,p13,p16);
Leitner 2:020d30f2e7b5 875 DigitalIn center(p14);
Leitner 2:020d30f2e7b5 876
Leitner 2:020d30f2e7b5 877 int cnt=0;
Leitner 2:020d30f2e7b5 878
Leitner 2:020d30f2e7b5 879 int main()
Leitner 2:020d30f2e7b5 880 {
Leitner 2:020d30f2e7b5 881 while(1)
Leitner 2:020d30f2e7b5 882 {
Leitner 2:020d30f2e7b5 883 lcd.cls();
Leitner 2:020d30f2e7b5 884 while (joy == 8)
Leitner 2:020d30f2e7b5 885 {
Leitner 2:020d30f2e7b5 886 lcd.locate(25,10);
Leitner 2:020d30f2e7b5 887 lcd.printf("right cnt: %i", cnt);
Leitner 2:020d30f2e7b5 888 cnt++;
Leitner 2:020d30f2e7b5 889 Leds = cnt;
Leitner 2:020d30f2e7b5 890 wait(0.5);
Leitner 2:020d30f2e7b5 891 }
Leitner 2:020d30f2e7b5 892 while (joy == 4)
Leitner 2:020d30f2e7b5 893 {
Leitner 2:020d30f2e7b5 894 lcd.locate(25,10);
Leitner 2:020d30f2e7b5 895 lcd.printf("left cnt: %i", cnt);
Leitner 2:020d30f2e7b5 896 cnt--;
Leitner 2:020d30f2e7b5 897 Leds = cnt;
Leitner 2:020d30f2e7b5 898 wait(0.5);
Leitner 2:020d30f2e7b5 899 }
Leitner 2:020d30f2e7b5 900 while (joy == 2)
Leitner 2:020d30f2e7b5 901 {
Leitner 2:020d30f2e7b5 902 lcd.locate(25,10);
Leitner 2:020d30f2e7b5 903 lcd.printf("down cnt: %i", cnt);
Leitner 2:020d30f2e7b5 904 cnt = cnt - 2;
Leitner 2:020d30f2e7b5 905 Leds = cnt;
Leitner 2:020d30f2e7b5 906 wait(0.5);
Leitner 2:020d30f2e7b5 907 }
Leitner 2:020d30f2e7b5 908 while (joy == 1)
Leitner 2:020d30f2e7b5 909 {
Leitner 2:020d30f2e7b5 910 lcd.locate(25,10);
Leitner 2:020d30f2e7b5 911 lcd.printf("up");
Leitner 2:020d30f2e7b5 912 cnt = cnt + 2;
Leitner 2:020d30f2e7b5 913 Leds = cnt;
Leitner 2:020d30f2e7b5 914 wait(0.5);
Leitner 2:020d30f2e7b5 915 }
Leitner 2:020d30f2e7b5 916 while (center)
Leitner 2:020d30f2e7b5 917 {
Leitner 2:020d30f2e7b5 918 lcd.locate(25,10);
Leitner 2:020d30f2e7b5 919 lcd.printf("center cnt: %i", cnt);
Leitner 2:020d30f2e7b5 920 cnt = 0;
Leitner 2:020d30f2e7b5 921 Leds = cnt;
Leitner 2:020d30f2e7b5 922 wait(0.5);
Leitner 2:020d30f2e7b5 923 }
Leitner 2:020d30f2e7b5 924 }
Leitner 2:020d30f2e7b5 925 }