cronometro controlado por monitor serial

Alguien podria ayudarme quiero controlar un cronometro por el puerto serial mandando (P) para iniciar, (R) reset, (k) para pausar.

int hora = 0; int segundo = 0; int minuto = 0; void setup() {

Serial.begin(9600); }

void loop() {

char c= Serial.read(); Serial.print(hora); Serial.print(":"); Serial.print(minuto); Serial.print(":"); Serial.print(segundo); Serial.println();

if (c == 'P') { for(;;) { segundo++; delay(1000); Serial.print(hora); Serial.print(":"); Serial.print(minuto); Serial.print(":"); Serial.print(segundo); Serial.println(); if(segundo == 59) {minuto++; segundo = 0; } if(minuto == 59) {hora++; minuto = 0;} } } }

solo puse la (P), las demas no le encuentro como ya que se cicla en el loop.