Library with PCF8591 support for the experiments for LPC812 MAX
Dependents: lpc812_exp_solution_analog-in lpc812_exp_solution_7-segment lpc812_exp_solution_7-segment-shift lpc812_exp_solution_pwm ... more
Fork of lpc812_exp_lib_PCF8591 by
PCF8591.cpp
- Committer:
- embeddedartists
- Date:
- 2013-11-15
- Revision:
- 2:8371322cbdc2
- Parent:
- 1:7eabc2242b8f
File content as of revision 2:8371322cbdc2:
#include "mbed.h" #include "PCF8591.h" PCF8591::PCF8591(PinName sda, PinName scl, int i2cAddr) : m_i2c(sda, scl) { m_i2c.frequency(100000); m_addr = i2cAddr; } int PCF8591::read(AnalogIn port) { char cmd = (port & 0x3); // read from selected port char data[2]; // select the port m_i2c.start(); m_i2c.write(m_addr); m_i2c.write(cmd); m_i2c.stop(); // get the sample m_i2c.start(); m_i2c.write(m_addr | 1); data[0] = m_i2c.read(1); // expect ACK data[1] = m_i2c.read(0); // expect NACK m_i2c.stop(); // data[0] is a dummy byte so ignore it // data[1] is the new value return data[1]; }