PCF8591 library
See https://developer.mbed.org/users/yasuyuki/notebook/PCF8591/
PCF8591.cpp@0:e17d7079ee96, 2014-10-04 (annotated)
- Committer:
- yasuyuki
- Date:
- Sat Oct 04 12:03:47 2014 +0000
- Revision:
- 0:e17d7079ee96
first release
Who changed what in which revision?
User | Revision | Line number | New 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 |