Não consigo mostrar data e hora no display LCD 2,4 TFT com RTC DS3231! AJUDA

Já viste o exemplo blink without delay??

Não há muito a explicar nesse exemplo... adicionalmente, parte do problema é como estás a programar. Ou seja, tu fizeste o programa de forma a que ele corra sequencialmente sem nunca voltar ao inicio da função loop.

Quando fizeste o while à espera que o sinal mude de estado, há necessidade para isso? Não podias apenas ver quando o sinal mudar de estado, fazer X?

Experimenta ver também máquina de estados na internet já que é a maneira mais simples de programar o que pretendes fazer.

Consegues pelo menos entender porque é que a função nõa mostra as horas?