update readme.md (#84)

- update readme.md
This commit is contained in:
Rob Tillaart
2025-08-01 11:43:10 +02:00
committed by GitHub
parent e57418ba44
commit 86228c599f
7 changed files with 48 additions and 22 deletions
+4
View File
@@ -6,6 +6,10 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/)
and this project adheres to [Semantic Versioning](http://semver.org/).
## [1.9.3] - 2025-08-01
- update readme.md
## [1.9.2] - 2024-11-25
- fix #79, wrong default in constructor - kudos to ekinohito
+1 -1
View File
@@ -1,7 +1,7 @@
//
// FILE: I2C_eeprom.cpp
// AUTHOR: Rob Tillaart
// VERSION: 1.9.2
// VERSION: 1.9.3
// PURPOSE: Arduino Library for external I2C EEPROM 24LC256 et al.
// URL: https://github.com/RobTillaart/I2C_EEPROM
+2 -2
View File
@@ -2,7 +2,7 @@
//
// FILE: I2C_eeprom.h
// AUTHOR: Rob Tillaart
// VERSION: 1.9.2
// VERSION: 1.9.3
// PURPOSE: Arduino Library for external I2C EEPROM 24LC256 et al.
// URL: https://github.com/RobTillaart/I2C_EEPROM
@@ -11,7 +11,7 @@
#include "Wire.h"
#define I2C_EEPROM_VERSION (F("1.9.2"))
#define I2C_EEPROM_VERSION (F("1.9.3"))
#define I2C_DEVICESIZE_24LC512 65536
#define I2C_DEVICESIZE_24LC256 32768
+1 -1
View File
@@ -1,6 +1,6 @@
MIT License
Copyright (c) 2011-2024 Rob Tillaart
Copyright (c) 2011-2025 Rob Tillaart
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
+38 -16
View File
@@ -17,7 +17,7 @@ Arduino Library for external I2C EEPROM - 24LC512, 24LC256, 24LC64/32/16/08/04/0
## Description
This library is to access external I2C EEPROM up to 64KB (= 512 Kbit) in size.
This library is to access the external I2C EEPROM up to 64KB (= 512 Kbit) in size.
MicroChip 24LC512, 24LC256, 24LC64, 24LC32, 24LC16, 24LC08, 24LC04, 24LC02, 24LC01 and equivalents.
Also confirmed working M24512-W, M24512-R, M24512-DF (See #68).
@@ -50,22 +50,48 @@ before calling **I2C_eeprom.begin()**.
### Related
- https://github.com/RobTillaart/I2C_24LC1025
- https://github.com/RobTillaart/I2C_CAT24M01
- https://github.com/RobTillaart/I2C_EEPROM
## Schematic
```cpp
+---U---+
A0 | 1 8 | VCC = 1.7V to 5.5V
A1 | 2 7 | WP = write protect pin
A2 | 3 6 | SCL = I2C clock
GND | 4 5 | SDA = I2C data
+-------+
Default address = 0x50 .. 0x57 depending on three address lines (A0, A1, A2).
+---U---+
A0 | 1 8 | VCC = 1.7V to 5.5V
A1 | 2 7 | WP = write protect pin
A2 | 3 6 | SCL = I2C clock
(VSS) GND | 4 5 | SDA = I2C data
+-------+
```
## I2C
I2C address = 0x50 .. 0x57 depending on three address lines (A0, A1, A2).
Read the datasheet, section device addressing.
### I2C multiplexing
Sometimes you need to control more devices than possible with the default
address range the device provides.
This is possible with an I2C multiplexer e.g. TCA9548 which creates up
to eight channels (think of it as I2C subnets) which can use the complete
address range of the device.
Drawback of using a multiplexer is that it takes more administration in
your code e.g. which device is on which channel.
This will slow down the access, which must be taken into account when
deciding which devices are on which channel.
Also note that switching between channels will slow down other devices
too if they are behind the multiplexer.
- https://github.com/RobTillaart/TCA9548
## Interface
```cpp
@@ -88,9 +114,9 @@ constructor, with optional Wire interface.
Furthermore it checks if the deviceAddress is available on the I2C bus.
Returns true if deviceAddress is found on the bus, false otherwise.
Optionally one can set the **WP** writeProtect pin. (see section below).
If the **WP** pin is defined the default will be to **not** allow writing.
If the **WP** pin is defined, the default behaviour will be to **not** allow writing.
- **bool isConnected()** test to see if deviceAddress is found on the bus.
- **uint8_t getAddress()** returns device address set in the constructor.
- **uint8_t getAddress()** returns deviceAddress set in the constructor.
### Write functions
@@ -243,13 +269,9 @@ Manual control
## Limitation
The library does not offer multiple EEPROMS as one continuous storage device.
The library does not offer multiple EEPROMS as one continuous storage device.
## Operation
See examples
## Future
#### Must
+1 -1
View File
@@ -15,7 +15,7 @@
"type": "git",
"url": "https://github.com/RobTillaart/I2C_EEPROM.git"
},
"version": "1.9.2",
"version": "1.9.3",
"license": "MIT",
"frameworks": "*",
"platforms": "*",
+1 -1
View File
@@ -1,5 +1,5 @@
name=I2C_EEPROM
version=1.9.2
version=1.9.3
author=Rob Tillaart <rob.tillaart@gmail.com>
maintainer=Rob Tillaart <rob.tillaart@gmail.com>
sentence=Library for I2C EEPROMS