La solución que propusiste tiene algunos problemas serios:
- Dentro de la rutina selector espera a que tics incremente. Esto no puede suceder dado que dentro de una rutina se deshabilitan las interrupciones, así que tiempo no ejecuta nunca.
- La rutina queda en ejecución hasta que se cumplan ciertas premisas, por lo que mientras tanto no se puede cambiar la temperatura.
- En el main no se habilitan las interrupciones ni se pone el apunte de instalar las rutinas.
Saludos.