M24LC64 library
See https://developer.mbed.org/users/yasuyuki/notebook/24LC64/
M24LC64.cpp@0:4ab58ea5ecf6, 2014-10-04 (annotated)
- Committer:
- yasuyuki
- Date:
- Sat Oct 04 12:03:05 2014 +0000
- Revision:
- 0:4ab58ea5ecf6
first release
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
yasuyuki | 0:4ab58ea5ecf6 | 1 | //********************** |
yasuyuki | 0:4ab58ea5ecf6 | 2 | // M24LC64.cpp for mbed |
yasuyuki | 0:4ab58ea5ecf6 | 3 | // |
yasuyuki | 0:4ab58ea5ecf6 | 4 | // M24LC64 lcd(P0_5,P0_4); |
yasuyuki | 0:4ab58ea5ecf6 | 5 | // or |
yasuyuki | 0:4ab58ea5ecf6 | 6 | // I2C i2c(P0_5,P0_4); |
yasuyuki | 0:4ab58ea5ecf6 | 7 | // M24LC64 lcd(i2c); |
yasuyuki | 0:4ab58ea5ecf6 | 8 | // |
yasuyuki | 0:4ab58ea5ecf6 | 9 | // (C)Copyright 2014 All rights reserved by Y.Onodera |
yasuyuki | 0:4ab58ea5ecf6 | 10 | // http://einstlab.web.fc2.com |
yasuyuki | 0:4ab58ea5ecf6 | 11 | //********************** |
yasuyuki | 0:4ab58ea5ecf6 | 12 | |
yasuyuki | 0:4ab58ea5ecf6 | 13 | #include "mbed.h" |
yasuyuki | 0:4ab58ea5ecf6 | 14 | #include "M24LC64.h" |
yasuyuki | 0:4ab58ea5ecf6 | 15 | |
yasuyuki | 0:4ab58ea5ecf6 | 16 | M24LC64::M24LC64 (PinName sda, PinName scl) : _i2c(sda, scl) { |
yasuyuki | 0:4ab58ea5ecf6 | 17 | } |
yasuyuki | 0:4ab58ea5ecf6 | 18 | M24LC64::M24LC64 (I2C& p_i2c) : _i2c(p_i2c) { |
yasuyuki | 0:4ab58ea5ecf6 | 19 | } |
yasuyuki | 0:4ab58ea5ecf6 | 20 | |
yasuyuki | 0:4ab58ea5ecf6 | 21 | void M24LC64::put(unsigned int a, unsigned char b) |
yasuyuki | 0:4ab58ea5ecf6 | 22 | { |
yasuyuki | 0:4ab58ea5ecf6 | 23 | adr.Val=a; |
yasuyuki | 0:4ab58ea5ecf6 | 24 | buf[0]=adr.byte.HB; |
yasuyuki | 0:4ab58ea5ecf6 | 25 | buf[1]=adr.byte.LB; |
yasuyuki | 0:4ab58ea5ecf6 | 26 | buf[2]=b; |
yasuyuki | 0:4ab58ea5ecf6 | 27 | _i2c.write(M24LC64_ADDR, buf, 3); |
yasuyuki | 0:4ab58ea5ecf6 | 28 | wait_ms(5); |
yasuyuki | 0:4ab58ea5ecf6 | 29 | } |
yasuyuki | 0:4ab58ea5ecf6 | 30 | |
yasuyuki | 0:4ab58ea5ecf6 | 31 | |
yasuyuki | 0:4ab58ea5ecf6 | 32 | unsigned char M24LC64::get(unsigned int a) |
yasuyuki | 0:4ab58ea5ecf6 | 33 | { |
yasuyuki | 0:4ab58ea5ecf6 | 34 | adr.Val=a; |
yasuyuki | 0:4ab58ea5ecf6 | 35 | buf[0]=adr.byte.HB; |
yasuyuki | 0:4ab58ea5ecf6 | 36 | buf[1]=adr.byte.LB; |
yasuyuki | 0:4ab58ea5ecf6 | 37 | _i2c.write(M24LC64_ADDR, buf, 2, true); // no stop, repeated |
yasuyuki | 0:4ab58ea5ecf6 | 38 | _i2c.read( M24LC64_ADDR, buf, 1); |
yasuyuki | 0:4ab58ea5ecf6 | 39 | return buf[0]; |
yasuyuki | 0:4ab58ea5ecf6 | 40 | } |
yasuyuki | 0:4ab58ea5ecf6 | 41 |