![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
led test for academic practice
Fork of LED_FLASH_TEST_SU by
main.cpp@0:68fbb882ee59, 2014-04-10 (annotated)
- Committer:
- NT32
- Date:
- Thu Apr 10 12:23:30 2014 +0000
- Revision:
- 0:68fbb882ee59
- Child:
- 1:d1e024be1615
led test for practice
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
NT32 | 0:68fbb882ee59 | 1 | #include "mbed.h" |
NT32 | 0:68fbb882ee59 | 2 | |
NT32 | 0:68fbb882ee59 | 3 | BusOut leds(P1_13, P1_14, P1_22, P0_17, P0_18, P0_19, P1_15, P0_1); |
NT32 | 0:68fbb882ee59 | 4 | |
NT32 | 0:68fbb882ee59 | 5 | int main() |
NT32 | 0:68fbb882ee59 | 6 | { |
NT32 | 0:68fbb882ee59 | 7 | unsigned char hex = 0x00; |
NT32 | 0:68fbb882ee59 | 8 | int state = 0, count = 0; |
NT32 | 0:68fbb882ee59 | 9 | while(1) |
NT32 | 0:68fbb882ee59 | 10 | { |
NT32 | 0:68fbb882ee59 | 11 | // single led flash |
NT32 | 0:68fbb882ee59 | 12 | while(state == 0) |
NT32 | 0:68fbb882ee59 | 13 | { |
NT32 | 0:68fbb882ee59 | 14 | count++; |
NT32 | 0:68fbb882ee59 | 15 | leds = 1; |
NT32 | 0:68fbb882ee59 | 16 | if(count == 20) |
NT32 | 0:68fbb882ee59 | 17 | { |
NT32 | 0:68fbb882ee59 | 18 | state++; |
NT32 | 0:68fbb882ee59 | 19 | } |
NT32 | 0:68fbb882ee59 | 20 | wait(0.1); |
NT32 | 0:68fbb882ee59 | 21 | } |
NT32 | 0:68fbb882ee59 | 22 | |
NT32 | 0:68fbb882ee59 | 23 | hex = 0xff; |
NT32 | 0:68fbb882ee59 | 24 | count = 0; |
NT32 | 0:68fbb882ee59 | 25 | |
NT32 | 0:68fbb882ee59 | 26 | //all led blink |
NT32 | 0:68fbb882ee59 | 27 | while(state == 1) |
NT32 | 0:68fbb882ee59 | 28 | { |
NT32 | 0:68fbb882ee59 | 29 | count++; |
NT32 | 0:68fbb882ee59 | 30 | //exclusive or.(all bits flipping) |
NT32 | 0:68fbb882ee59 | 31 | leds = hex ^ 0xff; |
NT32 | 0:68fbb882ee59 | 32 | if(count == 6) |
NT32 | 0:68fbb882ee59 | 33 | { |
NT32 | 0:68fbb882ee59 | 34 | state++; |
NT32 | 0:68fbb882ee59 | 35 | } |
NT32 | 0:68fbb882ee59 | 36 | wait(0.5); |
NT32 | 0:68fbb882ee59 | 37 | } |
NT32 | 0:68fbb882ee59 | 38 | |
NT32 | 0:68fbb882ee59 | 39 | hex = 0x01; |
NT32 | 0:68fbb882ee59 | 40 | count = 0; |
NT32 | 0:68fbb882ee59 | 41 | |
NT32 | 0:68fbb882ee59 | 42 | //flashing led rotate |
NT32 | 0:68fbb882ee59 | 43 | while(state == 2) |
NT32 | 0:68fbb882ee59 | 44 | { |
NT32 | 0:68fbb882ee59 | 45 | count++; |
NT32 | 0:68fbb882ee59 | 46 | //bit rotate |
NT32 | 0:68fbb882ee59 | 47 | leds = hex << 1; |
NT32 | 0:68fbb882ee59 | 48 | if(hex == 0) |
NT32 | 0:68fbb882ee59 | 49 | { |
NT32 | 0:68fbb882ee59 | 50 | hex = 0x01; |
NT32 | 0:68fbb882ee59 | 51 | } |
NT32 | 0:68fbb882ee59 | 52 | if(count == 24) |
NT32 | 0:68fbb882ee59 | 53 | { |
NT32 | 0:68fbb882ee59 | 54 | state = 0; |
NT32 | 0:68fbb882ee59 | 55 | } |
NT32 | 0:68fbb882ee59 | 56 | wait(0.125); |
NT32 | 0:68fbb882ee59 | 57 | } |
NT32 | 0:68fbb882ee59 | 58 | } |
NT32 | 0:68fbb882ee59 | 59 | } |