PCF8591 library

Dependents:   mbed_DEMO

See https://developer.mbed.org/users/yasuyuki/notebook/PCF8591/

Committer:
yasuyuki
Date:
Sat Oct 04 12:03:47 2014 +0000
Revision:
0:e17d7079ee96
first release

Who changed what in which revision?

UserRevisionLine numberNew contents of line
yasuyuki 0:e17d7079ee96 1 //**********************
yasuyuki 0:e17d7079ee96 2 // PCF8591.cpp for mbed
yasuyuki 0:e17d7079ee96 3 //
yasuyuki 0:e17d7079ee96 4 // PCF8591 lcd(P0_5,P0_4);
yasuyuki 0:e17d7079ee96 5 // or
yasuyuki 0:e17d7079ee96 6 // I2C i2c(P0_5,P0_4);
yasuyuki 0:e17d7079ee96 7 // PCF8591 lcd(i2c);
yasuyuki 0:e17d7079ee96 8 //
yasuyuki 0:e17d7079ee96 9 // (C)Copyright 2014 All rights reserved by Y.Onodera
yasuyuki 0:e17d7079ee96 10 // http://einstlab.web.fc2.com
yasuyuki 0:e17d7079ee96 11 //**********************
yasuyuki 0:e17d7079ee96 12
yasuyuki 0:e17d7079ee96 13 #include "mbed.h"
yasuyuki 0:e17d7079ee96 14 #include "PCF8591.h"
yasuyuki 0:e17d7079ee96 15
yasuyuki 0:e17d7079ee96 16 PCF8591::PCF8591 (PinName sda, PinName scl) : _i2c(sda, scl) {
yasuyuki 0:e17d7079ee96 17 }
yasuyuki 0:e17d7079ee96 18 PCF8591::PCF8591 (I2C& p_i2c) : _i2c(p_i2c) {
yasuyuki 0:e17d7079ee96 19 }
yasuyuki 0:e17d7079ee96 20
yasuyuki 0:e17d7079ee96 21 void PCF8591::put(unsigned char a, unsigned char b)
yasuyuki 0:e17d7079ee96 22 {
yasuyuki 0:e17d7079ee96 23 buf[0]=a;
yasuyuki 0:e17d7079ee96 24 buf[1]=b;
yasuyuki 0:e17d7079ee96 25 _i2c.write(PCF8591_ADDR, buf, 2);
yasuyuki 0:e17d7079ee96 26 }
yasuyuki 0:e17d7079ee96 27
yasuyuki 0:e17d7079ee96 28 unsigned char PCF8591::get(unsigned char a)
yasuyuki 0:e17d7079ee96 29 {
yasuyuki 0:e17d7079ee96 30 buf[0] = a;
yasuyuki 0:e17d7079ee96 31 _i2c.write(PCF8591_ADDR, buf, 1, true); // no stop, repeated
yasuyuki 0:e17d7079ee96 32 _i2c.read( PCF8591_ADDR, buf, 1);
yasuyuki 0:e17d7079ee96 33 return buf[0];
yasuyuki 0:e17d7079ee96 34 }
yasuyuki 0:e17d7079ee96 35
yasuyuki 0:e17d7079ee96 36