Arduino Uno Problema con LOOP

Tengo un codigo que estoy creando para poder transmitir y recibir datos por RF Pero el problema no esta ahi, el problema es que el codigo despues de ejcutarse casi un numero "Random" de veces deja de hacer loop (o almenos eso veo el la pantalla de mi ordenador). A la vista parece eso ya que deja de enviar texto luego de 2 loops o 5...

Aqui el codigo

const int pinTX = 12;
const int pinRX = 0;
const int pinBoton = 2;
int sRead = 0;
int coding = 0;
int readRX;
int ready = 0;

void setup(){
  pinMode(pinTX, OUTPUT);
  pinMode(pinRX, INPUT);
  pinMode(pinBoton, INPUT);
  Serial.begin(9600);
  Serial.println("Iniciando Sistema");
}

void loop(){
  Serial.println("Conectando...");
  ready = readyTX();
  if(ready == 1)
  {
    Serial.println("Conectado correctamente");
    sendTX(1);
  } else {
    Serial.println("No se logro coneccion");
    Serial.println("Reintentando...");
  }
  delay(1000);
}

int readyTX(){
  int exitT = 2;
  int count = 1;
  while(exitT > count)
  {
    readRX = analogRead(pinRX);
    digitalWrite(pinTX, LOW);
    if(readRX > 700)
    {
      while(readRX > 700)
      {
        digitalWrite(pinTX, HIGH);
      }
      delay(100);    
      readRX = analogRead(pinRX);
      if(readRX > 700) return 1;
    }
    if(readRX > 700) digitalWrite(pinTX, HIGH);
    delay(100);
    Serial.println(readRX);
    count++;
  }
  return 0;
}

int sendTX( int bite){
  if(bite = 0) digitalWrite(pinTX, HIGH);
  if(bite = 1) digitalWrite(pinTX, LOW);
}

Prueba poner un SerialPrint dentro de cada if y de los loops, para ir sabiendo dónde está el código a cada momento, y ver si en algún momento no se está quedando "atrapado" dentro de alguno de todos esos if y whiles.

Me parece que en esta funcion tienes varios problemas. La pego y pongo comentarios:

int readyTX(){ int exitT = 2; int count = 1; while(exitT > count) { readRX = analogRead(pinRX); digitalWrite(pinTX, LOW); if(readRX > 700) // Esta variable se ha leido unas cuantas lineas antes. Si no se actualiza siempre valdra lo mismo { while(readRX > 700) // esta condicion ya esta evaluada: si llega hasta aqui, es porque vale mas de 700 { digitalWrite(pinTX, HIGH); }// como no se actualiza el valor de readRX, el bucle no termina nunca. delay(100); readRX = analogRead(pinRX); // ahora se actualiza, pero como valiera mas de 700, se nos quedo pillada arriba if(readRX > 700) return 1; } if(readRX > 700) digitalWrite(pinTX, HIGH); // de nuevo identica condicion. Me temo que el codigo nunca podria pasar por aqui delay(100); Serial.println(readRX); count++; } return 0; }

Creo que deberias aclarar el flujo de la funcion y hacerte un diagrma o algo que te ayudara a tenerlo bien claro antes de continuar.

Buenas Compañeros, soy nuevo en programacion y arduino... no tiene algo que ver que ocupe otros pines diferentes a los "1" y "0" que son para la comunicacion?? Saludos

Pofenas:
Me parece que en esta funcion tienes varios problemas. La pego y pongo comentarios:

int readyTX(){
int exitT = 2;
int count = 1;
while(exitT > count)
{
readRX = analogRead(pinRX);
digitalWrite(pinTX, LOW);
if(readRX > 700) // Esta variable se ha leido unas cuantas lineas antes. Si no se actualiza siempre valdra lo mismo
{
while(readRX > 700) // esta condicion ya esta evaluada: si llega hasta aqui, es porque vale mas de 700
{
digitalWrite(pinTX, HIGH);
}// como no se actualiza el valor de readRX, el bucle no termina nunca.
delay(100);
readRX = analogRead(pinRX); // ahora se actualiza, pero como valiera mas de 700, se nos quedo pillada arriba
if(readRX > 700) return 1;
}
if(readRX > 700) digitalWrite(pinTX, HIGH); // de nuevo identica condicion. Me temo que el codigo nunca podria pasar por aqui
delay(100);
Serial.println(readRX);
count++;
}
return 0;
}

Creo que deberias aclarar el flujo de la funcion y hacerte un diagrma o algo que te ayudara a tenerlo bien claro antes de continuar.

Gracias! estas son cosas que pasan cuando, como decías, no me hago algún diagrama.