#define RX_FRAME_SIZE 18
unsigned char receive(char * str){
unsigned char temp=0;
if (Serial.available()> RX_FRAME_SIZE) {//temos bytes suficientes...
while(Serial.read() != 0xBB); //encontrar o inicio da trama.
if (Serial.read() != 0xCC) {
return 0;
} else { //inicio da trama
for (temp = 0; temp<RX_FRAME_SIZE-2; temp++) {
str[temp] = Serial.read();
}
}
Algo assim?