Arduino SD Transfer Speed Problem (Too Slow)


hello,

i'm using arduino mega ethernet shield on sd shield included. i'm trying copy image sd (see code) transfer rate slow; takes more 30 seconds transfer 1kb  :smiley-sad-blue:

here's code. please check , let me know i'm doing wrong. i've checked other sd examples use serial.print/serial.write inside loop copy byte byte , did same no avail. i'm guessing problem code i'm not sure. help?


code: [select]
/*
  sd card read/write

example shows how read , write data , sd card file
circuit:
* sd card attached spi bus follows:
** mosi - pin 11
** miso - pin 12
** clk - pin 13
** cs - pin 4

created   nov 2010
david a. mellis
updated 2 dec 2010
tom igoe

example code in public domain.

*/

#include <sd.h>
sd2card card;
sdvolume volume;
sdfile root;
file myfile;
file myfile2;
byte storage[1500];
void setup()
{
  serial.begin(9600);
  serial.print("initializing sd card...");
  // on ethernet shield, cs pin 4. it's set output default.
  // note if it's not used cs pin, hardware ss pin
  // (10 on arduino boards, 53 on mega) must left output
  // or sd library functions not work.
   pinmode(53, output);
   
  if (!sd.begin(4)) {
    serial.println("initialization failed!");
    return;
  }
  serial.println("initialization done.");
 
  // open file. note 1 file can open @ time,
  // have close 1 before opening another.
  myfile = sd.open("dog.jpg");
 
  // if file opened okay, write it:
  if (myfile) {
    serial.print("opening img dog.jpg..");
   
    // close file:
    serial.println("done.");
  } else {
    // if file didn't open, print error:
    serial.println("error opening test.txt");
  }
 
  // re-open file reading:
  if (myfile) {
    // read file until there's nothing else in it:
    myfile2 = sd.open("dog2.jpg", file_write);
    //counter
    int = 0;
    if(myfile2){
    while (myfile.available() && < 1500) {
    storage[i] = myfile.read();
        i++;
        serial.print("copying memory..... ");
        serial.println(i);
    }
    }else{
      serial.println("error opening winter2.jpg");
    }
    serial.println("done copying");
    int k = 0;
    while(k < i){
      myfile2.print(storage[k]);
      k++;
      serial.print("copying memory..... ");
      serial.println(k);
    }
    // close file:
    myfile.close();
    myfile2.close();
  } else {
  // if file didn't open, print error:
    serial.println("error opening winter.txt");
  }
}

void loop()
{
// nothing happens after setup
}

code: [select]
  serial.begin(9600);
pick pace, man. isn't stone age anymore.


Arduino Forum > Using Arduino > Programming Questions > Arduino SD Transfer Speed Problem (Too Slow)


arduino

Comments

Popular posts from this blog

Thread: PKI Client 5.00 install (for eToken Pro)

ATmega2560-Arduino Pin Mapping

Crossfader Arduino Tutorial