Create SPIFlash_Detect.ino
This commit is contained in:
parent
2e984b550e
commit
72459052e0
|
|
@ -0,0 +1,44 @@
|
|||
// Blink LED_BUILTIN slower if the FLASH chip is detected, and faster if there is no FLASH chip detected
|
||||
// Code by Felix Rusu, LowPowerLab.com
|
||||
#include <SPIFlash.h> //https://github.com/lowpowerlab/spiflash
|
||||
#include <SPI.h>
|
||||
|
||||
#define SERIAL_ENABLE
|
||||
#define BLINK_FAST_DELAY 100
|
||||
#define BLINK_SLOW_DELAY 500
|
||||
|
||||
SPIFlash flash(SS_FLASHMEM, 0xEF30); //EF40 for 16mbit windbond chip
|
||||
int LEDTIME = 500;
|
||||
|
||||
// the setup routine runs once when you press reset:
|
||||
void setup() {
|
||||
#ifdef SERIAL_ENABLE
|
||||
Serial.begin(115200);
|
||||
delay(4000); //wait a bit until SerialMonitor can be opened
|
||||
#endif
|
||||
pinMode(LED_BUILTIN, OUTPUT);
|
||||
|
||||
if (flash.initialize()) {
|
||||
Serial.println("SPI Flash Init OK!");
|
||||
LEDTIME = BLINK_SLOW_DELAY;
|
||||
}
|
||||
else
|
||||
{
|
||||
Serial.println("SPI Flash Init FAIL! (is chip soldered?)");
|
||||
LEDTIME = BLINK_FAST_DELAY;
|
||||
}
|
||||
}
|
||||
|
||||
// the loop routine runs over and over again forever:
|
||||
void loop() {
|
||||
word jedecid = flash.readDeviceId();
|
||||
#ifdef SERIAL_ENABLE
|
||||
Serial.print("FLASH DeviceID: ");
|
||||
Serial.println(jedecid, HEX);
|
||||
Serial.print("FLASH init "); Serial.println(flash.initialize() ? "OK" : "FAIL");
|
||||
#endif
|
||||
digitalWrite(LED_BUILTIN, HIGH); // turn the LED on (HIGH is the voltage level)
|
||||
delay(LEDTIME); // wait for a second
|
||||
digitalWrite(LED_BUILTIN, LOW); // turn the LED off by making the voltage LOW
|
||||
delay(LEDTIME); // wait for a second
|
||||
}
|
||||
Loading…
Reference in New Issue