Auxilio con OneWire y un cronometro

El siguiente código muestra una temperatura medida por un sensor Ds18b20 y una vez dicha temperatura sobrepasa un valor (En este caso 30°C) inicia un cronometro.

El código funciona a la perfección sin las lineas en negrilla, pero una vez las inserto (lo cual es necesario para poder salir del while) el cronometro deja de funcionar a su normalidad y comienza a andar lento, alguna sugerencia les agradecería de corazón. Muchas gracias

sensors.requestTemperatures(); 
     temperatura=sensors.getTempCByIndex(0); 
     lcd.clear();//Limpiamos la LCD
     lcd.setCursor(0,0);//Saltamos a la segunda linea
     lcd.print("Temp:"+String(temperatura)+"/"+TempF1+" C");
     delay(100); 

     while(temperatura >= 30)
      {
       [b]sensors.requestTemperatures(); 
        temperatura=sensors.getTempCByIndex(0); [/b]
       milisegundos = millis();
       if(milisegundos % 100 == 0) //Solo entra si ha pasado un decimo de segundo
         { 
          decimas++;
          if(decimas == 10) //Cuando han pasado 10 decimas de segundo cuenta 1 segundo
           { 
            decimas = 0;
            segundos++;
           }
          if(segundos == 60) //Cuando han pasado 60 segundos cuenta 1 minuto
           { 
            segundos = 0;
            minutos++;
           }
          if(minutos == 60) //Cuando han pasado 60 minutos cuenta 1 hora
           { 
            minutos = 0;
            horas++;
           }
          //Print Time
          lcd.setCursor(0,2);
          lcd.print("TotalTime:");
          lcd.setCursor(10,2);
          if(horas < 10)
           {
            lcd.print("0");
           }
          lcd.print(horas);
          lcd.print(":");
          lcd.setCursor(13,2);
          if(minutos < 10)
           {
            lcd.print("0");
           }
          lcd.print(minutos);
          lcd.print(":");
          lcd.setCursor(16,2);
          if(segundos < 10)
           {
            lcd.print("0");
           }
          lcd.print(segundos);
          lcd.print(":");
          lcd.setCursor(19,2);
          lcd.print(decimas);
         }   

      }
 }

Lee el privado que te envié para que modifiques tu hilo según las Normas del Foro.

Esas dos lineas demoran 750mseg y con esto digo todo.
El ds18b20 es un buen sensor digital pero a 12bits de resolución demora ese tiempo en responder.

Asi que olvida mostrar decimas de segundo y concéntrate en los segundos.