Task 4.3.2 Solution

Dependencies:   mbed

main.cpp

Committer:
noutram
Date:
2015-09-24
Revision:
0:cdb59b84bd58

File content as of revision 0:cdb59b84bd58:

#include "mbed.h"

//Global objects
BusOut binaryOutput(D5, D6, D7);
DigitalIn SW1(D4);

//Function prototypes
void waitForButtonPress();

//Main function
int main() {

    //Create a variable to hold the bit pattern
    unsigned int u;

    //Flash LED's to indicate the code is running
    binaryOutput = 7;
    wait(0.5);
    binaryOutput = 0;

    while(1) {
        
        u = 7;             //Set initial value 111
        binaryOutput = u;  //Show binary on LED's
        waitForButtonPress(); //Call function      
  
        //Use & to reset bit 1 
        u = u & 5;          //AND with binary 101
        binaryOutput = u;   
        waitForButtonPress();   
                               
        //Modify u with & to reset bit 2 to a 0
        u = u & 3;  //AND with 011
        binaryOutput = u;   
        waitForButtonPress();                          


        //Modify u with & to reset bit 0 to a 0
        u = u & 6;  //AND with 110
        binaryOutput = u;   
        waitForButtonPress();   
        
    } //end while(1)
} //end main


void waitForButtonPress() {
    while (SW1 == 0);
    wait(0.25);
    while (SW1 == 1);
}