M24LC64 library

Dependents:   mbed_DEMO

See https://developer.mbed.org/users/yasuyuki/notebook/24LC64/

Committer:
yasuyuki
Date:
Sat Oct 04 12:03:05 2014 +0000
Revision:
0:4ab58ea5ecf6
first release

Who changed what in which revision?

UserRevisionLine numberNew 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