Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
main.cpp@2:d4fab8f3f21f, 2014-10-22 (annotated)
- Committer:
- philipp19961
- Date:
- Wed Oct 22 07:01:00 2014 +0000
- Revision:
- 2:d4fab8f3f21f
- Parent:
- 1:c5769cd78933
- Child:
- 3:c048b13bc1d0
neue Version bitches - unn?tiger kot entfernt und sc freundlich geschrieben
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| philipp19961 | 0:05d73097e319 | 1 | #include "mbed.h" |
| philipp19961 | 1:c5769cd78933 | 2 | #include "DebouncedIn.h" |
| philipp19961 | 0:05d73097e319 | 3 | |
| philipp19961 | 0:05d73097e319 | 4 | Ticker tick; |
| philipp19961 | 0:05d73097e319 | 5 | DigitalOut led1(LED1); |
| philipp19961 | 0:05d73097e319 | 6 | DigitalOut led2(LED2); |
| philipp19961 | 0:05d73097e319 | 7 | DigitalOut led3(LED3); |
| philipp19961 | 0:05d73097e319 | 8 | DigitalOut led4(LED4); |
| philipp19961 | 0:05d73097e319 | 9 | |
| philipp19961 | 1:c5769cd78933 | 10 | DebouncedIn button(p12); |
| philipp19961 | 0:05d73097e319 | 11 | |
| philipp19961 | 0:05d73097e319 | 12 | // Zum Schalten: 1 Taster PINA PA0 |
| philipp19961 | 0:05d73097e319 | 13 | // 1. Funktion |
| philipp19961 | 0:05d73097e319 | 14 | // Start-Taste 1x betätigen: |
| philipp19961 | 0:05d73097e319 | 15 | // Dauerlicht aller 4 LEDs |
| philipp19961 | 0:05d73097e319 | 16 | // 2. Funktion |
| philipp19961 | 0:05d73097e319 | 17 | // Start-Taste ein 2.mal betätigen: |
| philipp19961 | 0:05d73097e319 | 18 | // LEDs blinken im ca. 400 Millisekunden-Takt; 200 msec Ein, 200 msec Aus |
| philipp19961 | 0:05d73097e319 | 19 | // Ausschalten des Rücklichts |
| philipp19961 | 0:05d73097e319 | 20 | // Die Start-Taste ein 3.mal betätigen: |
| philipp19961 | 0:05d73097e319 | 21 | // Alle LEDs aus. |
| philipp19961 | 0:05d73097e319 | 22 | |
| philipp19961 | 1:c5769cd78933 | 23 | volatile unsigned int event=0; |
| philipp19961 | 1:c5769cd78933 | 24 | volatile int led=0; |
| philipp19961 | 0:05d73097e319 | 25 | |
| philipp19961 | 2:d4fab8f3f21f | 26 | void switchled(); |
| philipp19961 | 2:d4fab8f3f21f | 27 | void blinkled(); |
| philipp19961 | 0:05d73097e319 | 28 | |
| philipp19961 | 2:d4fab8f3f21f | 29 | void ledsSwitchTimer() |
| philipp19961 | 0:05d73097e319 | 30 | { |
| philipp19961 | 2:d4fab8f3f21f | 31 | tick.attach(&switchled, 0.2); |
| philipp19961 | 0:05d73097e319 | 32 | } |
| philipp19961 | 0:05d73097e319 | 33 | |
| philipp19961 | 2:d4fab8f3f21f | 34 | void ledsBlinkTimer() |
| philipp19961 | 2:d4fab8f3f21f | 35 | { |
| philipp19961 | 2:d4fab8f3f21f | 36 | tick.attach(&blinkled, 0.2); |
| philipp19961 | 2:d4fab8f3f21f | 37 | } |
| philipp19961 | 2:d4fab8f3f21f | 38 | |
| philipp19961 | 2:d4fab8f3f21f | 39 | void stopTimer() |
| philipp19961 | 0:05d73097e319 | 40 | { |
| philipp19961 | 0:05d73097e319 | 41 | led1 = 0; |
| philipp19961 | 0:05d73097e319 | 42 | led2 = 0; |
| philipp19961 | 0:05d73097e319 | 43 | led3 = 0; |
| philipp19961 | 0:05d73097e319 | 44 | led4 = 0; |
| philipp19961 | 1:c5769cd78933 | 45 | tick.detach(); |
| philipp19961 | 0:05d73097e319 | 46 | } |
| philipp19961 | 0:05d73097e319 | 47 | |
| philipp19961 | 2:d4fab8f3f21f | 48 | void ledsEin() |
| philipp19961 | 2:d4fab8f3f21f | 49 | { |
| philipp19961 | 2:d4fab8f3f21f | 50 | led1 = 1; |
| philipp19961 | 2:d4fab8f3f21f | 51 | led2 = 1; |
| philipp19961 | 2:d4fab8f3f21f | 52 | led3 = 1; |
| philipp19961 | 2:d4fab8f3f21f | 53 | led4 = 1; |
| philipp19961 | 2:d4fab8f3f21f | 54 | } |
| philipp19961 | 2:d4fab8f3f21f | 55 | |
| philipp19961 | 2:d4fab8f3f21f | 56 | void ledsTogglen() |
| philipp19961 | 0:05d73097e319 | 57 | { |
| philipp19961 | 0:05d73097e319 | 58 | led1 = !led1; |
| philipp19961 | 0:05d73097e319 | 59 | led2 = !led2; |
| philipp19961 | 0:05d73097e319 | 60 | led3 = !led3; |
| philipp19961 | 0:05d73097e319 | 61 | led4 = !led4; |
| philipp19961 | 0:05d73097e319 | 62 | } |
| philipp19961 | 0:05d73097e319 | 63 | |
| philipp19961 | 1:c5769cd78933 | 64 | void switchled() |
| philipp19961 | 1:c5769cd78933 | 65 | { |
| philipp19961 | 1:c5769cd78933 | 66 | switch(led) |
| philipp19961 | 1:c5769cd78933 | 67 | { |
| philipp19961 | 1:c5769cd78933 | 68 | case 0: |
| philipp19961 | 1:c5769cd78933 | 69 | led1 = 1; |
| philipp19961 | 1:c5769cd78933 | 70 | break; |
| philipp19961 | 1:c5769cd78933 | 71 | case 1: |
| philipp19961 | 1:c5769cd78933 | 72 | led1 = 0; |
| philipp19961 | 1:c5769cd78933 | 73 | led2 = 1; |
| philipp19961 | 1:c5769cd78933 | 74 | break; |
| philipp19961 | 1:c5769cd78933 | 75 | case 2: |
| philipp19961 | 1:c5769cd78933 | 76 | led2 = 0; |
| philipp19961 | 1:c5769cd78933 | 77 | led3 = 1; |
| philipp19961 | 1:c5769cd78933 | 78 | break; |
| philipp19961 | 1:c5769cd78933 | 79 | case 3: |
| philipp19961 | 1:c5769cd78933 | 80 | led3 = 0; |
| philipp19961 | 1:c5769cd78933 | 81 | led4 = 1; |
| philipp19961 | 1:c5769cd78933 | 82 | break; |
| philipp19961 | 1:c5769cd78933 | 83 | case 4: |
| philipp19961 | 1:c5769cd78933 | 84 | led4 = 0; |
| philipp19961 | 1:c5769cd78933 | 85 | led = -1; |
| philipp19961 | 1:c5769cd78933 | 86 | break; |
| philipp19961 | 1:c5769cd78933 | 87 | } |
| philipp19961 | 1:c5769cd78933 | 88 | |
| philipp19961 | 1:c5769cd78933 | 89 | led++; |
| philipp19961 | 1:c5769cd78933 | 90 | } |
| philipp19961 | 1:c5769cd78933 | 91 | |
| philipp19961 | 2:d4fab8f3f21f | 92 | void blinkled() |
| philipp19961 | 0:05d73097e319 | 93 | { |
| philipp19961 | 0:05d73097e319 | 94 | ledsTogglen(); |
| philipp19961 | 0:05d73097e319 | 95 | } |
| philipp19961 | 0:05d73097e319 | 96 | |
| philipp19961 | 1:c5769cd78933 | 97 | void doEvent() |
| philipp19961 | 0:05d73097e319 | 98 | { |
| philipp19961 | 1:c5769cd78933 | 99 | switch(event) |
| philipp19961 | 1:c5769cd78933 | 100 | { |
| philipp19961 | 1:c5769cd78933 | 101 | case 0: |
| philipp19961 | 1:c5769cd78933 | 102 | led1 = 0; |
| philipp19961 | 1:c5769cd78933 | 103 | led2 = 0; |
| philipp19961 | 1:c5769cd78933 | 104 | led3 = 0; |
| philipp19961 | 1:c5769cd78933 | 105 | led4 = 0; |
| philipp19961 | 1:c5769cd78933 | 106 | break; |
| philipp19961 | 1:c5769cd78933 | 107 | case 1: |
| philipp19961 | 1:c5769cd78933 | 108 | led = 0; |
| philipp19961 | 2:d4fab8f3f21f | 109 | ledsSwitchTimer(); |
| philipp19961 | 1:c5769cd78933 | 110 | break; |
| philipp19961 | 1:c5769cd78933 | 111 | case 2: |
| philipp19961 | 1:c5769cd78933 | 112 | stopTimer(); |
| philipp19961 | 1:c5769cd78933 | 113 | ledsTogglen(); |
| philipp19961 | 1:c5769cd78933 | 114 | break; |
| philipp19961 | 1:c5769cd78933 | 115 | case 3: |
| philipp19961 | 2:d4fab8f3f21f | 116 | ledsBlinkTimer(); |
| philipp19961 | 1:c5769cd78933 | 117 | break; |
| philipp19961 | 1:c5769cd78933 | 118 | case 4: |
| philipp19961 | 1:c5769cd78933 | 119 | stopTimer(); |
| philipp19961 | 1:c5769cd78933 | 120 | event = 0; |
| philipp19961 | 1:c5769cd78933 | 121 | break; |
| philipp19961 | 1:c5769cd78933 | 122 | default: |
| philipp19961 | 1:c5769cd78933 | 123 | break; |
| philipp19961 | 1:c5769cd78933 | 124 | } |
| philipp19961 | 0:05d73097e319 | 125 | } |
| philipp19961 | 0:05d73097e319 | 126 | |
| philipp19961 | 0:05d73097e319 | 127 | int main() |
| philipp19961 | 1:c5769cd78933 | 128 | { |
| philipp19961 | 1:c5769cd78933 | 129 | while(1) { |
| philipp19961 | 1:c5769cd78933 | 130 | if (button.rising()) { |
| philipp19961 | 1:c5769cd78933 | 131 | event++; |
| philipp19961 | 1:c5769cd78933 | 132 | doEvent(); |
| philipp19961 | 1:c5769cd78933 | 133 | } |
| philipp19961 | 1:c5769cd78933 | 134 | } |
| philipp19961 | 0:05d73097e319 | 135 | } |
| philipp19961 | 0:05d73097e319 | 136 | |
| philipp19961 | 0:05d73097e319 | 137 |