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; } |