![](/media/cache/group/Embedded_software_in_context_icon.png.50x50_q85.png)
Task 3.4.3 Solution
Dependencies: mbed
Revision 0:807cc79e50f0, committed 2015-09-24
- Comitter:
- noutram
- Date:
- Thu Sep 24 12:27:10 2015 +0000
- Commit message:
- Initial version 24-09-2015
Changed in this revision
main.cpp | Show annotated file Show diff for this revision Revisions of this file |
mbed.bld | Show annotated file Show diff for this revision Revisions of this file |
diff -r 000000000000 -r 807cc79e50f0 main.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Thu Sep 24 12:27:10 2015 +0000 @@ -0,0 +1,66 @@ +#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 = 0; //Set initial value 0 + binaryOutput = u; //Show binary on LED's + waitForButtonPress(); //Call function + + //Use & to toggle bit 0 + u = u ^ 1; //XOR with binary 001 + binaryOutput = u; + waitForButtonPress(); + + //Toggle bit 1 + u = u ^ 2; //XOR with 010 + binaryOutput = u; + waitForButtonPress(); + + + //Toggle bit 2 + u = u ^ 4; //XOR with 100 + binaryOutput = u; + waitForButtonPress(); + + //Toggle bits 0 and 2 + u = u ^ 5; + binaryOutput = u; + waitForButtonPress(); + + //Toggle all bits + u = u ^ 7; + binaryOutput = u; + waitForButtonPress(); + + //Toggle all bits + u = u ^ 7; + binaryOutput = u; + waitForButtonPress(); + + } //end while(1) +} //end main + + +void waitForButtonPress() { + while (SW1 == 0); + wait(0.25); + while (SW1 == 1); +} \ No newline at end of file
diff -r 000000000000 -r 807cc79e50f0 mbed.bld --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mbed.bld Thu Sep 24 12:27:10 2015 +0000 @@ -0,0 +1,1 @@ +http://mbed.org/users/mbed_official/code/mbed/builds/bad568076d81 \ No newline at end of file