DigitalRead en Setup() (SOLUCIONADO)

Hola a todos, he montado un esquema como el del ejemplo DigitalReadSerial para probar si se puede ejecutar una función dentro del Setup() y me encuentro con que no ejecuta un simple digitalRead.

int tiempo = 0;
int estado = 0;
int pushButton = 2;

void setup() {

  Serial.begin(9600);
  pinMode(13, OUTPUT);
  pinMode(2, INPUT);
  prueba();
}

void loop() {
  digitalWrite(13, HIGH);
  delay(tiempo);
  digitalWrite(13, LOW);
  delay(tiempo);// 
  Serial.println(estado);
}

void prueba() {
  estado = digitalRead(pushButton);
  if (estado = LOW) {
    tiempo = 100;
  }
  else {
    tiempo = 1000;
  }
  Serial.println(estado);
}

El led brilla con un delay de 1000 independientemente del estado del pin2....

¿he cometido algún error o simplemente no se puede?

Muchas gracias.

Rectifica esta linea del programa:

void prueba()
{
  estado = digitalRead(pushButton);
  if (estado == LOW)   // <<== rectifica
  {
       tiempo = 100;
  }
  else
  {
       tiempo = 1000;
  }
  Serial.println(estado);
}

Recuerda: == para comparar, y = para asignar.

Muchísimas gracias!!!!!