Close

ST-211

beto-greenBeto Green wrote 04/01/2023 at 00:08 • 1 min read • Like

/*
320  160 80  40  20  10  5  0    0   1   1   0   0  1 =   $1.25  = 0x19 =25

 0    0   1   1   1   1  0 =   $1.50  = 0x1E = 30

1 0 0 1 0 0 1 365
*/

#include <Wire.h>

void eeprom_i2c_write(byte address, byte from_addr, byte data) {
  Wire.beginTransmission(address);
  Wire.write(from_addr);
  Wire.write(data);
  Wire.endTransmission();
}

byte eeprom_i2c_read(int address, int from_addr) {
  Wire.beginTransmission(address);
  Wire.write(from_addr);
  Wire.endTransmission();

  Wire.requestFrom(address, 1);
  if(Wire.available())
    return Wire.read();
  else
    return 0xFF;
}

void setup() {
  Wire.begin();
  Serial.begin(9600);

eeprom_i2c_write(B01010000, 72, 30); //$1.50
delay(100);
eeprom_i2c_write(B01010000, 74, 35);//$1.75
delay(100);
eeprom_i2c_write(B01010000, 76, 40);//$2.00
delay(100);
  for(int i = 0; i < 10; i++) {
    eeprom_i2c_write(B01010000, i, 255);
    delay(100);
  }

  Serial.println("Read to memory!");
   for(int i = 0; i < 80; i++) {
    byte r = eeprom_i2c_read(B01010000, i);
    Serial.print(i);
    Serial.print(" - ");
    Serial.print(r);
    Serial.print("\n");
    delay(100);
   }
}

void loop() {
 
  }

Like

Discussions