Justamente como lo estás haciendo. Con la instrucción "getc()" puedes capturar un caracter vía rs232.
La cosa es que captura sólo eso, un caracter. Si quieres leer varios caracteres tendrás que hacer un while...
Yo te aconsejaría que hicieras un código más simple, de recibir un caracter y enviarlo al hyperterminal... de esa forma verías en el hyperterminal la tecla que has pulsado. Luego ya puedes irle añadiendo más cosas.
Por otro lado, estás declarando la variable a como char, así que nunca se va a cumplir ese if... pues lo único que puede guardar a es un caracter.
Tendrías que declarar un arreglo, algo así como "char a[6];" si lo que vas a recibir son seis caracteres.
Luego puedes usar otra variable, por ejemplo "i" como índice... y al leer los distintos valores dirías algo así como:
a[i]=getc();
...de esta forma puedes ir guardando los caracteres en las diferentes posiciones del arreglo (variando los valores de i).
Ok saludos, nos leemos!
P.D.:
if (a="patata") { printf ("es mala para tu cuerpo"); }
else { printf("es buena"); }
Recuerda que si el código que vas a ejecutar si se cumple el if o el else está compuesto de una sóla instrucción, no hacen falta las llaves.
Quedaría más elegante:
if (a="patata") printf ("es mala para tu cuerpo");
else printf("es buena");