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
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?
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

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
}
Arduino Forum > Using Arduino > Programming Questions > Arduino SD Transfer Speed Problem (Too Slow)
arduino
Comments
Post a Comment