Arduino VDIP problem

I have to make a program which allows me to convert an analogic EKG signal from a board into a digital signal using Arduino Duemilanove with ATmega168 and to send it to a memory USB stick in numeric format in a *.txt file with VDIP module.I need to write pretty fast from arduino to VDIP,in order to get accurate numbers in my *.txt file(I think about 800 bytes per second).I measure my EKG signal from 1 channel.
I think the key of this problem is about RTS and CTS pins.I found this software about how to use RTS and CTS,but I’m not so good at software.Maybe somebody can help me how to modify this to get what I need.THX in advance

// RX TX
#include

NewSoftSerial usb(2, 3);

int RTSPin = 5;
int CTSPin = 4;

void setup() {
pinMode(RTSPin, INPUT);
pinMode(CTSPin, OUTPUT);

usb.begin(9600);
//usb.begin(57600); // You can modify the default speed of the VDIP1 with firmware updates to be up to 57600 through newSoftSerial.
digitalWrite(CTSPin, LOW); // Set the CTS to low and keep it there.
Serial.begin(9600); // opens serial port, sets data rate to 9600 bps

Serial.print("Starting");

usb.print("IPA"); // Set to ascii mode.
usb.print(13, BYTE);
}

char usbRx;
byte charIn;

void SendToUsb(char val) {
while (digitalRead(RTSPin) == HIGH) { }
usb.print(val);
digitalWrite(CTSPin, LOW);
}

void SendToUsbTermCmd() {
while (digitalRead(RTSPin) == HIGH) { }
usb.print(13, BYTE);
digitalWrite(CTSPin, LOW);

}

void loop() {
// Disable the sending on the USB device if you have filled more than 50% of your buffer (64 bytes by default)
if (usb.available() > 32) {
digitalWrite(CTSPin, HIGH);
} else {
digitalWrite(CTSPin, LOW);
}
if (usb.available() > 0) { // read the incoming byte
usbRx = usb.read();
if (usbRx == 0x0D) {
Serial.println();
} else {
Serial.print(usbRx);
}
}
if (Serial.available() > 0) { // read the incoming byte
if (Serial.read() == (byte)'~') {
charIn = 0;
while (charIn != (byte)'~') { // wait for header byte again
if (Serial.available() > 0) {
charIn = Serial.read();
Serial.print(charIn, HEX);
if (charIn == (byte)'~') {
Serial.println("breaking");
break;
}
SendToUsb(charIn);
}
}
SendToUsbTermCmd();
}
}
}

I also found this http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1243370818/5