ISSI IS25LQ032B 3V-Quad Serial Flash Memory with Multi-I/O SPI
Dependents: testSPI_IS25LQ032B SPI_Flash_erase
SPI Flash Memory ISSI IS25LQ032B library.
Although the device has lots of features, only a small portion of commands were implemented. (sorry)
For the data sheet please refer to http://www.issi.com/WW/pdf/25LQ080B-016B-032B.pdf
SPI_IS25LQ032B.h@0:3f3dd929e3e5, 2014-12-25 (annotated)
- Committer:
- Rhyme
- Date:
- Thu Dec 25 00:46:17 2014 +0000
- Revision:
- 0:3f3dd929e3e5
Commit before publish
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Rhyme | 0:3f3dd929e3e5 | 1 | #ifndef _SPI_IS25LQ032B_H_ |
Rhyme | 0:3f3dd929e3e5 | 2 | #define _SPI_IS25LQ032B_H_ |
Rhyme | 0:3f3dd929e3e5 | 3 | |
Rhyme | 0:3f3dd929e3e5 | 4 | #include "mbed.h" |
Rhyme | 0:3f3dd929e3e5 | 5 | |
Rhyme | 0:3f3dd929e3e5 | 6 | /** SPI_IS25LQ032B ISSI 3V-QUAD SERIAL FLASH MEMORY MULTI-I/O SPI |
Rhyme | 0:3f3dd929e3e5 | 7 | * Data Sheet: http://www.issi.com/WW/pdf/25LQ080B-016B-032B.pdf |
Rhyme | 0:3f3dd929e3e5 | 8 | */ |
Rhyme | 0:3f3dd929e3e5 | 9 | |
Rhyme | 0:3f3dd929e3e5 | 10 | class SPI_IS25LQ032B |
Rhyme | 0:3f3dd929e3e5 | 11 | { |
Rhyme | 0:3f3dd929e3e5 | 12 | public: |
Rhyme | 0:3f3dd929e3e5 | 13 | /** |
Rhyme | 0:3f3dd929e3e5 | 14 | * ISSI 3V-QUAD SERIAL FLASH MEMORY MULTI-I/O SPI constructor |
Rhyme | 0:3f3dd929e3e5 | 15 | * |
Rhyme | 0:3f3dd929e3e5 | 16 | * @param mosi SPI_MOSI pin |
Rhyme | 0:3f3dd929e3e5 | 17 | * @param miso SPI_MISO pin |
Rhyme | 0:3f3dd929e3e5 | 18 | * @param sclk SPI_CLK pin |
Rhyme | 0:3f3dd929e3e5 | 19 | * @param cs SPI_CS pin |
Rhyme | 0:3f3dd929e3e5 | 20 | */ |
Rhyme | 0:3f3dd929e3e5 | 21 | SPI_IS25LQ032B(PinName mosi, PinName miso, PinName sclk, PinName cs) ; |
Rhyme | 0:3f3dd929e3e5 | 22 | |
Rhyme | 0:3f3dd929e3e5 | 23 | /// Destructor |
Rhyme | 0:3f3dd929e3e5 | 24 | ~SPI_IS25LQ032B() ; |
Rhyme | 0:3f3dd929e3e5 | 25 | |
Rhyme | 0:3f3dd929e3e5 | 26 | /// write enable |
Rhyme | 0:3f3dd929e3e5 | 27 | void writeEnable(void) ; |
Rhyme | 0:3f3dd929e3e5 | 28 | |
Rhyme | 0:3f3dd929e3e5 | 29 | /// write disable |
Rhyme | 0:3f3dd929e3e5 | 30 | void writeDisable(void) ; |
Rhyme | 0:3f3dd929e3e5 | 31 | |
Rhyme | 0:3f3dd929e3e5 | 32 | /// read status register |
Rhyme | 0:3f3dd929e3e5 | 33 | uint8_t readStatus(void) ; |
Rhyme | 0:3f3dd929e3e5 | 34 | |
Rhyme | 0:3f3dd929e3e5 | 35 | /** write status register |
Rhyme | 0:3f3dd929e3e5 | 36 | * |
Rhyme | 0:3f3dd929e3e5 | 37 | * @param uint8_t newStatus new register value |
Rhyme | 0:3f3dd929e3e5 | 38 | */ |
Rhyme | 0:3f3dd929e3e5 | 39 | void writeStatus(uint8_t newStatus) ; |
Rhyme | 0:3f3dd929e3e5 | 40 | |
Rhyme | 0:3f3dd929e3e5 | 41 | /// read function register |
Rhyme | 0:3f3dd929e3e5 | 42 | uint8_t readFunc(void) ; |
Rhyme | 0:3f3dd929e3e5 | 43 | |
Rhyme | 0:3f3dd929e3e5 | 44 | /// write fucntion register |
Rhyme | 0:3f3dd929e3e5 | 45 | void writeFunc(uint8_t newValue) ; |
Rhyme | 0:3f3dd929e3e5 | 46 | |
Rhyme | 0:3f3dd929e3e5 | 47 | /** program page |
Rhyme | 0:3f3dd929e3e5 | 48 | * |
Rhyme | 0:3f3dd929e3e5 | 49 | * @param int addr start address |
Rhyme | 0:3f3dd929e3e5 | 50 | * @param uint8_t *data data buffer address |
Rhyme | 0:3f3dd929e3e5 | 51 | * @param int numData number of data to be written (max 256) |
Rhyme | 0:3f3dd929e3e5 | 52 | */ |
Rhyme | 0:3f3dd929e3e5 | 53 | void programPage(int addr, uint8_t *data, int numData) ; |
Rhyme | 0:3f3dd929e3e5 | 54 | |
Rhyme | 0:3f3dd929e3e5 | 55 | /// chip erase |
Rhyme | 0:3f3dd929e3e5 | 56 | void chipErase(void) ; |
Rhyme | 0:3f3dd929e3e5 | 57 | |
Rhyme | 0:3f3dd929e3e5 | 58 | uint8_t read8(int addr) ; |
Rhyme | 0:3f3dd929e3e5 | 59 | void write8(int addr, uint8_t data) ; |
Rhyme | 0:3f3dd929e3e5 | 60 | |
Rhyme | 0:3f3dd929e3e5 | 61 | SPI m_spi; |
Rhyme | 0:3f3dd929e3e5 | 62 | DigitalOut m_cs ; |
Rhyme | 0:3f3dd929e3e5 | 63 | int _mode ; |
Rhyme | 0:3f3dd929e3e5 | 64 | |
Rhyme | 0:3f3dd929e3e5 | 65 | private: |
Rhyme | 0:3f3dd929e3e5 | 66 | } ; |
Rhyme | 0:3f3dd929e3e5 | 67 | #endif // _SPI_IS25LQ032B_H_ |