Un error mio, seguro que no se nota por que yo puse:
int DELAYCOM,valor_B;
8 bits , maximo 255
Reemplazalo por:
int16 DELAYCOM,valor_B;
De esa forma puede llegar a 1000.
Si anda quiere decir que era tu problema, ya que el getc() espera un caracter por la UART y tal ves no se lo estabas enviando