Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Fork of MCP23S17_Basic_IO_Demo by
Revision 3:cf5a7230ef4d, committed 2016-09-25
- Comitter:
- jeremycai3721
- Date:
- Sun Sep 25 20:16:55 2016 +0000
- Parent:
- 2:934a0500abde
- Commit message:
- CodeShare
Changed in this revision
| main.cpp | Show annotated file Show diff for this revision Revisions of this file |
--- a/main.cpp Fri Jan 28 02:04:05 2011 +0000
+++ b/main.cpp Sun Sep 25 20:16:55 2016 +0000
@@ -32,6 +32,8 @@
DigitalOut led1(LED1); // mbed LED1 is used for test status display
+int B0;
+
int main() {
// The MCP23S17 reset pin can just be pulled high, since it has a power on reset circuit.
// The reset pin can be used for a software forced reset by pulling it low with an mbed GPIO pin.
@@ -51,16 +53,27 @@
// Start Loopback test sending out and reading back values
// loopback test uses A0 and B0 pins - so use a wire to jumper those two pins on MCP23S17 together
while (1) {
- // write 0xAA to MCP23S17 Port A
- chip.write(PORT_A, 0xAA);
- wait(.5);
- // read back value from MCP23S17 Port B and display B0 on mbed led1
- led1 = chip.read(PORT_B)& 0x01;
- // write 0x55 to MCP23S17 Port A
- chip.write(PORT_A, 0x55);
- wait(.5);
- // read back value from MCP23S17 Port B and display B0 on mbed led1
- led1 = chip.read(PORT_B)& 0x01;
- // led1 should blink slowly when it is all working
+ // read in B0 and see if it's 0 (button being pressed)
+ B0 = chip.read(PORT_B)& 0x01;
+ if (B0 == 0)
+ {
+ chip.write(PORT_A,1); // output 1 at A0 to light up LED
+ } else {
+ chip.write(PORT_A,0); // turn off LED
+ }
+
+ // if yes, out put Port A0 to 1, to light up LED
+ //
+// // write 0xAA to MCP23S17 Port A
+// chip.write(PORT_A, 0xAA);
+// wait(.5);
+// // read back value from MCP23S17 Port B and display B0 on mbed led1
+// led1 = chip.read(PORT_B)& 0x01;
+// // write 0x55 to MCP23S17 Port A
+// chip.write(PORT_A, 0x55);
+// wait(.5);
+// // read back value from MCP23S17 Port B and display B0 on mbed led1
+// led1 = chip.read(PORT_B)& 0x01;
+// // led1 should blink slowly when it is all working
}
}
