SPI Flash AT45DBXXXD
Fork of at45db161d by
Diff: at45db161d.cpp
- Revision:
- 8:1ec3997fe258
- Parent:
- 7:2f9d8b47704f
- Child:
- 9:8b1cf34d290e
--- a/at45db161d.cpp Fri Mar 06 15:47:44 2015 +0800 +++ b/at45db161d.cpp Fri Mar 06 19:54:06 2015 +0800 @@ -127,33 +127,31 @@ } } -void ATD45DB161D::read(uint16_t addr, void *ptr, uint16_t len) { +void ATD45DB161D::readBuffer(uint16_t page, void *ptr, uint16_t len) { uint8_t *buf = reinterpret_cast<uint8_t*>(ptr); uint16_t i; while (len > 0) { - PageToBuffer(addr / _info.pageSize, 1); - BufferRead(1, addr % _info.pageSize, 1); + PageToBuffer(page++, 1); + BufferRead(1, 0, 1); uint16_t wlen = (_info.pageSize < len ? _info.pageSize : len); for (i = 0; i < wlen; i++) { *buf++ = _spi->write(0xff); } len -= wlen; - addr += _info.pageSize; } } -void ATD45DB161D::write(uint16_t addr, void *ptr, uint16_t len) { +void ATD45DB161D::writeBuffer(uint16_t page, void *ptr, uint16_t len) { uint8_t *buf = reinterpret_cast<uint8_t*>(ptr); uint16_t i; while (len > 0) { - BufferWrite(2, addr % _info.pageSize); + BufferWrite(2, 0); uint16_t wlen = (_info.pageSize < len ? _info.pageSize : len); for (i = 0; i < wlen; i++) { _spi->write(*buf++); } - BufferToPage(2, addr / _info.pageSize, 1); + BufferToPage(2, page++, 1); len -= wlen; - addr += _info.pageSize; } }