소스 검색

Add sleep & wakeup (thanks rocketscream)

main
PaulStoffregen 9 년 전
부모
커밋
1ce2f5d753
2개의 변경된 파일19개의 추가작업 그리고 0개의 파일을 삭제
  1. +2
    -0
      SerialFlash.h
  2. +17
    -0
      SerialFlashChip.cpp

+ 2
- 0
SerialFlash.h 파일 보기

@@ -39,6 +39,8 @@ public:
static bool begin();
static uint32_t capacity(const uint8_t *id);
static uint32_t blockSize();
static void sleep();
static void wakeup();
static void readID(uint8_t *buf);
static void read(uint32_t addr, void *buf, uint32_t len);
static bool ready();

+ 17
- 0
SerialFlashChip.cpp 파일 보기

@@ -383,6 +383,23 @@ bool SerialFlashChip::begin()
return true;
}

void SerialFlashChip::sleep()
{
if (busy) wait();
SPI.beginTransaction(SPICONFIG);
CSASSERT();
SPI.transfer(0xB9); // Deep power down command
CSRELEASE();
}

void SerialFlashChip::wakeup()
{
SPI.beginTransaction(SPICONFIG);
CSASSERT();
SPI.transfer(0xAB); // Wake up from deep power down command
CSRELEASE();
}

void SerialFlashChip::readID(uint8_t *buf)
{
if (busy) wait();

Loading…
취소
저장