The example program for mbed pin-compatible platforms

Dependencies:   mbed

Fork of mbed_blinky by Mbed

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?

UserRevisionLine numberNew 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 }