1234567891011121314151617181920212223242526272829303132 |
- /* unit test for PortRead_MCP23S17
- The setup is an MCP23S17 I/O expander on a Teensy LC controller.
- MCP23S17 port-B pins are alternately grounded and energized.
- portBState is a bitwise reading of port B.
- output is: 10101010
-
- posted on http://arduino.stackexchange.com/questions/tagged/spi
- http://arduino.stackexchange.com/questions/28792/reading-an-mcp23s17-i-o-expander-port-with-the-arduino-spi-library
- */
- #include "PortIOE.h"
- #include "PortRead_MCP23S17.h"
- #include "PortWrite_MCP23S17.h"
-
- const uint8_t PortIOE::ADDR = 0x20; //MCP23S17 address, all 3 ADDR pins are grounded
- PortIOE portB(1, 0);
-
- PortRead_MCP23S17 portBRead(portB);
- PortWrite_MCP23S17 portBWrite(portB); //PortBWrite needed for begin()
-
- void setup()
- {
- uint8_t portBState; //bit wise
-
- delay(6000);
- portBWrite.begin();
-
- portBState = portBRead.read();
- Keyboard.print("portBState = ");
- Keyboard.println(portBState, BIN); //should print 10101010
- }
-
- void loop() { }
|