first publish

Dependents:   eeprom_test eeprom_test MCP3204_test

Committer:
sashida_h
Date:
Wed Nov 20 03:55:16 2019 +0000
Revision:
0:8047024a08c2
Child:
1:41cf2e3bb7f3
initial commit; ;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
sashida_h 0:8047024a08c2 1 #include "24LC1025.h"
sashida_h 0:8047024a08c2 2 // 24LC64 の書き込み、読み込みテスト
sashida_h 0:8047024a08c2 3
sashida_h 0:8047024a08c2 4 //I2C i2c(p9, p10); //p9: data, p10: clock
sashida_h 0:8047024a08c2 5
sashida_h 0:8047024a08c2 6 I2CEEprom::I2CEEprom():I2C(PB_7,PB_6)
sashida_h 0:8047024a08c2 7 {
sashida_h 0:8047024a08c2 8 addr = 0xA0;
sashida_h 0:8047024a08c2 9 }
sashida_h 0:8047024a08c2 10 I2CEEprom::I2CEEprom(PinName data, PinName clock, int address):I2C(data, clock)
sashida_h 0:8047024a08c2 11 {
sashida_h 0:8047024a08c2 12 addr = address;
sashida_h 0:8047024a08c2 13 }
sashida_h 0:8047024a08c2 14
sashida_h 0:8047024a08c2 15 void I2CEEprom::write(unsigned int address, unsigned char data)
sashida_h 0:8047024a08c2 16 {
sashida_h 0:8047024a08c2 17 start();
sashida_h 0:8047024a08c2 18 ((I2C*)this)->write(addr);
sashida_h 0:8047024a08c2 19 ((I2C*)this)->write((address>>8));
sashida_h 0:8047024a08c2 20 ((I2C*)this)->write(address);
sashida_h 0:8047024a08c2 21 ((I2C*)this)->write(data);
sashida_h 0:8047024a08c2 22 stop();
sashida_h 0:8047024a08c2 23 }
sashida_h 0:8047024a08c2 24
sashida_h 0:8047024a08c2 25 unsigned char I2CEEprom::read(unsigned int address)
sashida_h 0:8047024a08c2 26 {
sashida_h 0:8047024a08c2 27 unsigned char x;
sashida_h 0:8047024a08c2 28 start();
sashida_h 0:8047024a08c2 29 ((I2C*)this)->write(addr);
sashida_h 0:8047024a08c2 30 ((I2C*)this)->write((address>>8));
sashida_h 0:8047024a08c2 31 ((I2C*)this)->write(address);
sashida_h 0:8047024a08c2 32 start();
sashida_h 0:8047024a08c2 33 ((I2C*)this)->write(addr+1);
sashida_h 0:8047024a08c2 34 x = ((I2C*)this)->read(0);
sashida_h 0:8047024a08c2 35 stop();
sashida_h 0:8047024a08c2 36 return x;
sashida_h 0:8047024a08c2 37 }