Strano errore nel codice

Ciao a tutti,
mi succede una cosa strana con questo codice:

#include <Servo.h>
#include <string.h>
#include <stdlib.h>
#include <stdio.h>

int incomingByte = 0;	// for incoming serial data
char sComando[7];
char sByte[7];
int sValue;
int count=0;
int ledPin = 13;
int Servo1Pin = 9;
String mc="forward1";

Servo SXServo;

void setup() {
  Serial.begin(9600);	// opens serial port, sets data rate to 9600 bps
  SXServo.attach(Servo1Pin);
}

char Comp(char* _value){
  count=0;
  while(Serial.available() > 0) {
    if(count<7){
      // read the incoming byte:
      incomingByte = Serial.read();
      sByte[count] = incomingByte;
      count++;
      sByte[count] = '\0';
    }
    Serial.println(count);
  }
  if(count==6){
    strncpy(sComando,sByte,3);
    Serial.println(sComando);
    Serial.println(sByte);
  }
  //  sComando[4] = '\0';
  if(strcmp(sComando, _value) == 0 & count==6){
    resetString(sComando);
    int index=0;
    for (int i=3; i<6; i++){
      sComando[index]=sByte[i];
      index++;
    }
    Serial.println(sComando);
    sValue=atoi(sComando);
    Serial.println(sValue);
    resetString(sComando);
    resetString(sByte);
    if (sValue>0 & sValue<180){
      return(sValue);
    }
  } 
  else {
    return(-1);
  } 
}

void resetString(char* _value){
  for(int i=0; i<7; i++){
    _value[i]=0;
  }  
}

void loop() {
  int iValue;
  iValue=Comp("ma1");
  if(iValue >= 0){
    Serial.println("ok!");
    MotoreSXavanti(iValue);
  }
}

void MotoreSXavanti(int _value){
  SXServo.write(_value);  
}

La cosa strana è questa se io elimino la riga Serial.println(count); il programma per qualche motivo non entra nell’istruzione if(count==6){. Inserendola come in questo funziona.
Il codice non è dei migliori e debbo risistemarlo è una bozza.
Qualcuno potrebbe darmi qualche suggerimento?

Grazie

ma tu via seriale che cosa gli invii?

Il comando che invio è ma1 + numero di tre cifre

Nell'"if" entra se count è uguale a 6. C'è qualcosa nel tuo codice che fa alterare count. Hai provato a fare un debug mettendo dei print di eco per vedere cosa legge Serial.read?