FastArduino v1.10
C++ library to build fast but small Arduino/AVR projects
|
API to handle WinBond flash memory chips through SPI interface. More...
Go to the source code of this file.
Classes | |
class | devices::WinBond< CS > |
SPI device driver for WinBond flash memory chips, like W25Q80BV (8 Mbit flash). More... | |
struct | devices::WinBond< CS >::Status |
This type maps WinBond Status register (§6.1) to more readable pieces. More... | |
struct | devices::WinBond< CS >::Device |
Device information (§6.2.31) More... | |
Namespaces | |
namespace | devices |
Defines all API for all external devices supported by FastArduino. | |
API to handle WinBond flash memory chips through SPI interface.
Connection diagram:
W25Q80BV +----U----+
(/CS)-----—1-|/CS VCC|-8------—(VCC) (MISO)----—2-|DO /HOLD|-7–VVVV—(VCC) –3-|/WP CLK|-6------—(CLK) (GND)-----—4-|GND DI|-5------—(MOSI) +------—+
Note that WinBond IC works on Vcc = 3.3V (not 5V) and any inputs should be limited to 3.3V, hence, when working with 5V MCU, use level converters at least for DI, CLK and CS pins. This library operates WinBond IC in single SPI mode only (WinBond supports dual and quad modes); in this mode, the /HOLD pin should not be left dangling as it may trigger transmission errors when CS is low (active). I use a 10K resistor to pullup this pin to Vcc (3.3V).
Definition in file winbond.h.