volatile unsigned int string_counter;
volatile char string_buffer[64]; //max USB buffer size LPC1343
int __write (int iFileHandle, uint8_t *pcBuffer, uint8_t iLength)
{
unsigned char len_count; //len counter
unsigned char print=0; //print flag
RFID_REL_ON; //Scope output
for(len_count=0;len_count< iLength;len_count++)//read loop
{
string_buffer[string_counter]= *pcBuffer; //fill buffer
if(*pcBuffer == 0x0D)print=1; //check return
pcBuffer++; //inc buffer pointer
string_counter++; //inc counter
}
if((string_counter>63) || print) //if max buffer or return
{
USB_WriteEP (CDC_DEP_IN, (unsigned char *)&string_buffer[0],string_counter);
string_counter=0; //reset counter
}
RFID_REL_OFF; //Scope output
return iLength;
} |