Solutions for the I2C experiments for LPC812 MAX

Dependencies:   mbed

Committer:
embeddedartists
Date:
Sun Nov 24 12:34:47 2013 +0000
Revision:
0:9aab4157fdae
First version

Who changed what in which revision?

UserRevisionLine numberNew contents of line
embeddedartists 0:9aab4157fdae 1 #ifndef PCA9672_H
embeddedartists 0:9aab4157fdae 2 #define PCA9672_H
embeddedartists 0:9aab4157fdae 3
embeddedartists 0:9aab4157fdae 4 #include "mbed.h"
embeddedartists 0:9aab4157fdae 5
embeddedartists 0:9aab4157fdae 6 // PCA9672 IIC slave address
embeddedartists 0:9aab4157fdae 7 #define PCA9672_ADDR 0x46
embeddedartists 0:9aab4157fdae 8
embeddedartists 0:9aab4157fdae 9
embeddedartists 0:9aab4157fdae 10 //!Library for the PCA9672 I/O expander.
embeddedartists 0:9aab4157fdae 11 /*!
embeddedartists 0:9aab4157fdae 12 The PCA9672 is an I2C I/O expander. It has 8 I/O pins.
embeddedartists 0:9aab4157fdae 13 */
embeddedartists 0:9aab4157fdae 14 class PCA9672
embeddedartists 0:9aab4157fdae 15 {
embeddedartists 0:9aab4157fdae 16 public:
embeddedartists 0:9aab4157fdae 17 /*!
embeddedartists 0:9aab4157fdae 18 Connect PCA9672 to I2C port pins sda and scl.
embeddedartists 0:9aab4157fdae 19 */
embeddedartists 0:9aab4157fdae 20 PCA9672(PinName sda, PinName scl);
embeddedartists 0:9aab4157fdae 21
embeddedartists 0:9aab4157fdae 22 /*!
embeddedartists 0:9aab4157fdae 23 Set the frequency of the I2C interface.
embeddedartists 0:9aab4157fdae 24 */
embeddedartists 0:9aab4157fdae 25 void frequency(int hz);
embeddedartists 0:9aab4157fdae 26
embeddedartists 0:9aab4157fdae 27 /*!
embeddedartists 0:9aab4157fdae 28 Setup pin direction (bit = 1 for inputs, 0 for outputs)
embeddedartists 0:9aab4157fdae 29 */
embeddedartists 0:9aab4157fdae 30 void direction(uint8_t inputs);
embeddedartists 0:9aab4157fdae 31
embeddedartists 0:9aab4157fdae 32 /*!
embeddedartists 0:9aab4157fdae 33 Write the value to the IO Expander (pins XP0-XP7 output)
embeddedartists 0:9aab4157fdae 34 */
embeddedartists 0:9aab4157fdae 35 void write(char value);
embeddedartists 0:9aab4157fdae 36
embeddedartists 0:9aab4157fdae 37 /*!
embeddedartists 0:9aab4157fdae 38 Read the value of the IO Expander (pins XP0-XP7 input)
embeddedartists 0:9aab4157fdae 39 */
embeddedartists 0:9aab4157fdae 40 int read(void);
embeddedartists 0:9aab4157fdae 41
embeddedartists 0:9aab4157fdae 42 /*!
embeddedartists 0:9aab4157fdae 43 Destroys instance.
embeddedartists 0:9aab4157fdae 44 */
embeddedartists 0:9aab4157fdae 45 ~PCA9672();
embeddedartists 0:9aab4157fdae 46
embeddedartists 0:9aab4157fdae 47 private:
embeddedartists 0:9aab4157fdae 48
embeddedartists 0:9aab4157fdae 49 I2C _i2c;
embeddedartists 0:9aab4157fdae 50 uint8_t _pins;
embeddedartists 0:9aab4157fdae 51
embeddedartists 0:9aab4157fdae 52 };
embeddedartists 0:9aab4157fdae 53
embeddedartists 0:9aab4157fdae 54 #endif