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@0:b768d98915e0, 2018-11-15 (annotated)
- Committer:
- Wizo
- Date:
- Thu Nov 15 17:52:54 2018 +0000
- Revision:
- 0:b768d98915e0
Btn_RunLight
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| Wizo | 0:b768d98915e0 | 1 | #include "mbed.h" |
| Wizo | 0:b768d98915e0 | 2 | |
| Wizo | 0:b768d98915e0 | 3 | // Lauflicht welches sich bei jedem Btn-Click um einen Schritt weiter bewegt |
| Wizo | 0:b768d98915e0 | 4 | // Das ist die Polling Lösung |
| Wizo | 0:b768d98915e0 | 5 | |
| Wizo | 0:b768d98915e0 | 6 | |
| Wizo | 0:b768d98915e0 | 7 | // LSB MSB |
| Wizo | 0:b768d98915e0 | 8 | // 2^0 2^1 2^2 2^11 |
| Wizo | 0:b768d98915e0 | 9 | BusOut lb(P1_13,P1_12,P1_7,P1_6,P1_4,P1_3,P1_1,P1_0,LED4,LED3,LED2,LED1); |
| Wizo | 0:b768d98915e0 | 10 | // D20 D19 D18 D17 D16 D15 D14 D13 D4 D3 D2 D1 |
| Wizo | 0:b768d98915e0 | 11 | |
| Wizo | 0:b768d98915e0 | 12 | DigitalIn sw4(P1_16); |
| Wizo | 0:b768d98915e0 | 13 | |
| Wizo | 0:b768d98915e0 | 14 | int prevSw4 = 0; // Schalterzustand so wie er bei der letzten Abfrage war |
| Wizo | 0:b768d98915e0 | 15 | |
| Wizo | 0:b768d98915e0 | 16 | void OneRunLightStep(); // einen Schritt eines LL ausführen |
| Wizo | 0:b768d98915e0 | 17 | |
| Wizo | 0:b768d98915e0 | 18 | // CheckButton() liefert nur dann 1 wenn |
| Wizo | 0:b768d98915e0 | 19 | // am Button eine Flanke erkannt wurde |
| Wizo | 0:b768d98915e0 | 20 | int CheckButton(); |
| Wizo | 0:b768d98915e0 | 21 | |
| Wizo | 0:b768d98915e0 | 22 | |
| Wizo | 0:b768d98915e0 | 23 | int main() |
| Wizo | 0:b768d98915e0 | 24 | { |
| Wizo | 0:b768d98915e0 | 25 | lb = 1; |
| Wizo | 0:b768d98915e0 | 26 | |
| Wizo | 0:b768d98915e0 | 27 | while(1) { |
| Wizo | 0:b768d98915e0 | 28 | if(CheckButton()) |
| Wizo | 0:b768d98915e0 | 29 | OneRunLightStep(); |
| Wizo | 0:b768d98915e0 | 30 | |
| Wizo | 0:b768d98915e0 | 31 | } |
| Wizo | 0:b768d98915e0 | 32 | |
| Wizo | 0:b768d98915e0 | 33 | } |
| Wizo | 0:b768d98915e0 | 34 | |
| Wizo | 0:b768d98915e0 | 35 | int CheckButton() |
| Wizo | 0:b768d98915e0 | 36 | { |
| Wizo | 0:b768d98915e0 | 37 | int ret = 0; |
| Wizo | 0:b768d98915e0 | 38 | if(sw4 == 1 && prevSw4 == 0) |
| Wizo | 0:b768d98915e0 | 39 | ret = 1; |
| Wizo | 0:b768d98915e0 | 40 | else |
| Wizo | 0:b768d98915e0 | 41 | ret = 0; |
| Wizo | 0:b768d98915e0 | 42 | prevSw4 = sw4; // den alten Schalterzustand merken |
| Wizo | 0:b768d98915e0 | 43 | return ret; |
| Wizo | 0:b768d98915e0 | 44 | } |
| Wizo | 0:b768d98915e0 | 45 | |
| Wizo | 0:b768d98915e0 | 46 | |
| Wizo | 0:b768d98915e0 | 47 | void OneRunLightStep() |
| Wizo | 0:b768d98915e0 | 48 | { |
| Wizo | 0:b768d98915e0 | 49 | if(lb == 0) |
| Wizo | 0:b768d98915e0 | 50 | lb = 1; |
| Wizo | 0:b768d98915e0 | 51 | else |
| Wizo | 0:b768d98915e0 | 52 | lb = lb << 1; |
| Wizo | 0:b768d98915e0 | 53 | } |