Test program for MCP23S17
Dependencies: ExioController MCP23S17 mbed-rtos mbed
main.cpp
- Committer:
- ryood
- Date:
- 2016-10-30
- Revision:
- 0:0b1ae70a694b
- Child:
- 1:e0679b70b51d
File content as of revision 0:0b1ae70a694b:
#include "mbed.h" #include "rtos.h" #include "ExioMcp23s17.h" SPI Spi(PC_12, PC_11, PC_10); // SPI3: mosi, miso, sclk //SPI Spi(PA_7, PA_6, PA_5); // SPI1: mosi, miso, sclk // MExioMcp23s17(int hardwareaddress, SPI& spi, PinName nCs, PinName nReset); ExioMcp23s17 Exio(0x00, Spi, PD_2, PA_13); void ExioMcp23s17Test() { printf("\r\n\n*** ExioMcp23s17 ***\r\n"); // Reset MCP23S17 Exio.reset(); // PORTA output Exio.ioDirection(ExioPortA, 0x00); // PORTB input Exio.ioDirection(ExioPortB, 0xFF); // PORTB pull-up Exio.ioPullup(ExioPortB, 0xFF); // PORTB invert polarity Exio.ioPolarity(ExioPortB, 0xFF); // LED Check for (int i = 0; i < 8; i++) { Exio.writePort(ExioPortA, 1 << i); wait(0.1); } Exio.writePort(ExioPortB, 0x00); while (true) { char data = Exio.readPort(ExioPortB); wait_us(1); Exio.writePort(ExioPortA, data); } } int main() { ExioMcp23s17Test(); }