Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
EE25LC1024.h
00001 // EE25LC1024.h 00002 00003 #ifndef EE25LC1024_H 00004 #define EE25LC1024_H 00005 00006 #include "mbed.h" 00007 #include <string> 00008 00009 #define SPI_Freq 10000000 //Change SPI Frequency Here 00010 #define SPI_MODE 0 // SPI Mode can be 0 or 3 . see data sheet 00011 #define SPI_NBIT 8 // Number of bits 8. 00012 00013 00014 00015 #define DUMMY_ADDR 0x00 00016 #define WAIT_TIME 1 00017 00018 #define ADDR_BMASK3 0xff000000 00019 #define ADDR_BMASK2 0x00ff0000 00020 #define ADDR_BMASK1 0x0000ff00 00021 #define ADDR_BMASK0 0x000000ff 00022 00023 #define ADDR_BSHIFT3 24 00024 #define ADDR_BSHIFT2 16 00025 #define ADDR_BSHIFT1 8 00026 #define ADDR_BSHIFT0 0 00027 00028 00029 #define READ 0x03 //0000 0011 Read data from memory array beginning at selected address 00030 #define WRITE 0x02 //0000 0010 Write data to memory array beginning at selected address 00031 #define WREN 0x06 //0000 0110 Set the write enable latch (enable write operations) 00032 #define WRDI 0x04 //0000 0100 Reset the write enable latch (disable write operations) 00033 #define RDSR 0x05 //0000 0101 Read STATUS register 00034 #define WRSR 0x01 //0000 0001 Write STATUS register 00035 #define PE 0x42 //0100 0010 Page Erase – erase one page in memory array 00036 #define SE 0xD8 //1101 1000 Sector Erase – erase one sector in memory array 00037 #define CE 0xC7 //1100 0111 Chip Erase – erase all sectors in memory array 00038 #define Readid 0xAB //1010 1011 Release from Deep power-down and read electronic signature 00039 #define DPD 0xB9 //1011 1001 Deep Power-Down mode 00040 #define DUMMYBYTE 0x00 //Dummy byte for Read Operation 00041 00042 class EE25LC1024: public SPI { 00043 public: 00044 EE25LC1024(PinName mosi, PinName miso, PinName sclk, PinName cs); 00045 00046 void deepPowerDown(void); 00047 00048 00049 int readByte(int addr); // takes a 24-bit (3 bytes) address and returns the data (1 byte) at that location 00050 void readStream(int addr, char* buf, int count); // takes a 24-bit address, reads count bytes, and stores results in buf 00051 int ReleaseDPD_ReadSign(void); 00052 void writeByte(int addr, int data); // takes a 24-bit (3 bytes) address and a byte of data to write at that location 00053 void writeStream(int addr, char* buf, int count); // write count bytes of data from buf to memory, starting at addr 00054 void writeString(int add, string str); 00055 void sectorErase(int addr); 00056 void pageErase(int addr); 00057 void chipErase(); //erase all data on chip 00058 uint8_t readRegister(); 00059 uint8_t checkIfBusy(); // Check if IC is bury writing or erasing 00060 void writeRegister(uint8_t regValue); // Write status register or configuration register 00061 long readLong(int address); // Read long int number 00062 void writeLong(int addr, long value); // Write Long Integer Number 00063 private: 00064 void writeEnable(); // write enable 00065 void writeDisable(); // write disable 00066 void chipEnable(); // chip enable 00067 void chipDisable(); 00068 // chip disable 00069 00070 // SPI _spi; 00071 DigitalOut _cs; 00072 }; 00073 00074 #endif
Generated on Sat Jul 16 2022 23:16:27 by
1.7.2