transplanted from the original URL : https://github.com/adafruit/Adafruit-RGB-LCD-Shield-Library
Adafruit_MCP23017.h
- Committer:
- Komazawa_sun
- Date:
- 2018-11-19
- Revision:
- 0:4f1c764a42d3
File content as of revision 0:4f1c764a42d3:
/*************************************************** This is a library for the MCP23017 i2c port expander These displays use I2C to communicate, 2 pins are required to interface Adafruit invests time and resources providing this open source code, please support Adafruit and open-source hardware by purchasing products from Adafruit! Written by Limor Fried/Ladyada for Adafruit Industries. BSD license, all text above must be included in any redistribution ****************************************************/ #ifndef _Adafruit_MCP23017_H_ #define _Adafruit_MCP23017_H_ #include "mbed.h" class Adafruit_MCP23017 { public: Adafruit_MCP23017(I2C *master); ~Adafruit_MCP23017(){}; void pinMode(uint8_t p, bool input_mode); void digitalWrite(uint8_t p, bool high); void pullUp(uint8_t p, bool pullup_anable); uint8_t digitalRead(uint8_t p); void writeGPIOAB(uint16_t); uint16_t readGPIOAB(); private: I2C *_master; char *_buffer; }; //#define MCP23017_ADDRESS 0x20 #define MCP23017_ADDRESS 0x40 #define INPUT 1 #define OUTPUT 0 // registers #define MCP23017_IODIRA 0x00 #define MCP23017_IPOLA 0x02 #define MCP23017_GPINTENA 0x04 #define MCP23017_DEFVALA 0x06 #define MCP23017_INTCONA 0x08 #define MCP23017_IOCONA 0x0A #define MCP23017_GPPUA 0x0C #define MCP23017_INTFA 0x0E #define MCP23017_INTCAPA 0x10 #define MCP23017_GPIOA 0x12 #define MCP23017_OLATA 0x14 #define MCP23017_IODIRB 0x01 #define MCP23017_IPOLB 0x03 #define MCP23017_GPINTENB 0x05 #define MCP23017_DEFVALB 0x07 #define MCP23017_INTCONB 0x09 #define MCP23017_IOCONB 0x0B #define MCP23017_GPPUB 0x0D #define MCP23017_INTFB 0x0F #define MCP23017_INTCAPB 0x11 #define MCP23017_GPIOB 0x13 #define MCP23017_OLATB 0x15 #endif