Go Down

Topic: MKR MEM Shield Instruction Guide (Read 18 times) previous topic - next topic

ryan_1234

Hello all,


I have the Arduino Uno R3, and I am trying to use the on-board Flash memory of the MKR Mem Shield.

So far, I have followed this tutorial: https://www.arduino.cc/en/Guide/MKRMEMShield#pin-usage
And, I use the Paul Stoffregen's SerialFlash library within the code as you can see.

I have the following test code: 
//First, please download the SerialFlash library by Paul Stoffregen
#include <SerialFlash.h>
#include <SPI.h>
#include <Keyboard.h>




const int FlashChipSelect = 5; //CS or Chip Select pin


const int f_Length = 256;
const char* fileName = "text.bin";


void setup() {


  delay(5000); // 5 seconds


  Serial.begin(9600);


  
  Serial.println(" Flash chip testing program " );


 //Checking if there is a flashChip connected
 if(!SerialFlash.begin(FlashChipSelect)){
    Serial.println("Unable to access SPI Flash Chip");
  }else{
    
    Serial.println("Flash Chip detected");
    
   


    
    }
  
}


void loop() {
  // put your main code here, to run repeatedly:


  if(Serial.available() > 0){


    char inChar = Serial.read();
    


    if(inChar == 'w'){
     
      Serial.println("Initiating Writing to file");
      writeTest(fileName, f_Length);
    }
    
    if(inChar == 'r'){
      Serial.println("Initiating Reading to file");
      readTest(fileName,f_Length);
      
      }    
  }
}


void writeTest(const char* fileName, int fLength){
  //Check if file exists


  Serial.println("Checking if file exists.");
 
  if(SerialFlash.exists(fileName)){
   
    Serial.println("FILE EXISTS");
    SerialFlash.remove(fileName);
    
  }else{
    //File doesn't exists
    //Create the file
   
    Serial.println("file doesn't exists");
   
    if(SerialFlash.create(fileName,f_Length)){
      
      
      Serial.println("Created file, now writing");
      
      SerialFlashFile ff = SerialFlash.open(fileName);
      char buf[256] = "Hello World";


      ff.write(buf,256);
      
      ff.close();
      Serial.println("Done writing to file.");
      
      
     }else{
      Serial.println("Unable to create file");
      } 
   }  
  
}


void readTest(const char* fileName, int fLength){


    //Check if file exists
    if(SerialFlash.exists(fileName)){
      
      Serial.println("File exists!");
      
      SerialFlashFile file = SerialFlash.open(fileName);


      char buffer[256];
      file.read(buffer, 256);


      Serial.println(buffer);


      file.close();     
    }


}


WHEN I TEST THE CODE, the serial monitor detects Flash when NO PINS are connected.


What am I doing wrong?


I


Go Up