A library to read and write all 25* serial SPI eeprom devices from Microchip (from 25xx010 to 25xx1024).

Dependents:   RobotRic VITI2_ihm_2

Revision:
1:c29a67c7034d
Parent:
0:238ca4fdef8c
Child:
2:3a3404dbd3eb
--- a/Ser25lcxxx.cpp	Wed Jan 26 22:14:41 2011 +0000
+++ b/Ser25lcxxx.cpp	Thu Feb 03 20:31:08 2011 +0000
@@ -115,7 +115,7 @@
         bool b=writePage(_pageSize*pageNum,_pageSize,s);
         delete s;
         return b;
-    } else {
+    } else if (_size<131072) { // everything up to 512k
         _enable->write(0);
         wait_us(1);
         _spi->write(0x42);
@@ -125,7 +125,20 @@
         _enable->write(1);
 
         waitForWrite();
+    } else { // 25xx1024, needs 3 byte address
+        _enable->write(0);
+        wait_us(1);
+        _spi->write(0x42);
+        _spi->write((_pageSize*pageNum)>>16);
+        _spi->write(HIGH(_pageSize*pageNum));
+        _spi->write(LOW(_pageSize*pageNum));
+        wait_us(1);
+        _enable->write(1);
+
+        waitForWrite();
     }
+
+
     return true;
 }