Simple read/write API for the W25X40BV SPI Flash IC wiki: http://mbed.org/cookbook/W25X40BV
Diff: W25X40BV.h
- Revision:
- 3:6e3c0b23dc6e
- Parent:
- 2:2b0daec9f8c0
--- a/W25X40BV.h Mon Mar 19 15:05:56 2012 +0000 +++ b/W25X40BV.h Mon Mar 26 04:30:32 2012 +0000 @@ -26,27 +26,27 @@ #define ADDR_BSHIFT1 8 #define ADDR_BSHIFT0 0 -class W25X40BV { +class W25X40BV: public SPI { public: W25X40BV(PinName mosi, PinName miso, PinName sclk, PinName cs); - int readByte(int addr); // takes a 24-bit (3 bytes) address and returns the data (1 byte) at that location - int readByte(int a2, int a1, int a0); // takes the address in 3 separate bytes A[23,16], A[15,8], A[7,0] - void read(int addr, char* buf, int count); // takes a 24-bit address, reads count bytes, and stores results in buf + int readByte(int addr); // takes a 24-bit (3 bytes) address and returns the data (1 byte) at that location + int readByte(int a2, int a1, int a0); // takes the address in 3 separate bytes A[23,16], A[15,8], A[7,0] + void readStream(int addr, char* buf, int count); // takes a 24-bit address, reads count bytes, and stores results in buf - void writeByte(int addr, int data); // takes a 24-bit (3 bytes) address and a byte of data to write at that location - void writeByte(int a2, int a1, int a0, int data); // takes the address in 3 separate bytes A[23,16], A[15,8], A[7,0] - void write(int addr, char* buf, int count); // write count bytes of data from buf to memory, starting at addr + void writeByte(int addr, int data); // takes a 24-bit (3 bytes) address and a byte of data to write at that location + void writeByte(int a2, int a1, int a0, int data); // takes the address in 3 separate bytes A[23,16], A[15,8], A[7,0] + void writeStream(int addr, char* buf, int count); // write count bytes of data from buf to memory, starting at addr - void chipErase(); // erase all data on chip + void chipErase(); // erase all data on chip private: - void writeEnable(); // write enable - void writeDisable(); // write disable - void chipEnable(); // chip enable - void chipDisable(); // chip disable + void writeEnable(); // write enable + void writeDisable(); // write disable + void chipEnable(); // chip enable + void chipDisable(); // chip disable - SPI _spi; + // SPI _spi; DigitalOut _cs; };