The example program for mbed pin-compatible platforms
Fork of mbed_blinky by
main.cpp@1:8ec56da83b86, 2013-11-25 (annotated)
- Committer:
- jf1452
- Date:
- Mon Nov 25 11:29:20 2013 +0000
- Revision:
- 1:8ec56da83b86
- Parent:
- 0:7dec7e9ac085
OddBlink to demonstrate bit field access for RenBED board
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
dan | 0:7dec7e9ac085 | 1 | #include "mbed.h" |
dan | 0:7dec7e9ac085 | 2 | |
jf1452 | 1:8ec56da83b86 | 3 | DigitalOut myled(P0_21); // Define an output |
jf1452 | 1:8ec56da83b86 | 4 | |
jf1452 | 1:8ec56da83b86 | 5 | union BYTE // Define new type “BYTE” |
jf1452 | 1:8ec56da83b86 | 6 | { |
jf1452 | 1:8ec56da83b86 | 7 | char Byte; // Use this to map a byte |
jf1452 | 1:8ec56da83b86 | 8 | struct { |
jf1452 | 1:8ec56da83b86 | 9 | char Bit0: 1; // map individual |
jf1452 | 1:8ec56da83b86 | 10 | char Bit1: 1; // bits onto the |
jf1452 | 1:8ec56da83b86 | 11 | char Bit2: 1; // mapped byte. |
jf1452 | 1:8ec56da83b86 | 12 | char Bit3: 1; |
jf1452 | 1:8ec56da83b86 | 13 | char Bit4: 1; |
jf1452 | 1:8ec56da83b86 | 14 | char Bit5: 1; |
jf1452 | 1:8ec56da83b86 | 15 | char Bit6: 1; |
jf1452 | 1:8ec56da83b86 | 16 | char Bit7: 1; |
jf1452 | 1:8ec56da83b86 | 17 | } Bits; |
jf1452 | 1:8ec56da83b86 | 18 | }; |
dan | 0:7dec7e9ac085 | 19 | |
dan | 0:7dec7e9ac085 | 20 | int main() { |
jf1452 | 1:8ec56da83b86 | 21 | BYTE cMyNumber; // Declare out counter |
jf1452 | 1:8ec56da83b86 | 22 | cMyNumber.Byte = 0; // Initialise our counter |
jf1452 | 1:8ec56da83b86 | 23 | |
jf1452 | 1:8ec56da83b86 | 24 | for(;;) { // Loop forever |
jf1452 | 1:8ec56da83b86 | 25 | wait(0.5); // Wait half a second |
jf1452 | 1:8ec56da83b86 | 26 | cMyNumber.Byte++; // Increment counter |
jf1452 | 1:8ec56da83b86 | 27 | myled = cMyNumber.Bits.Bit0; // Indicate odd value |
dan | 0:7dec7e9ac085 | 28 | } |
dan | 0:7dec7e9ac085 | 29 | } |