TODOPIC
Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: rcg_1982 en 03 de Agosto de 2007, 13:27:13
-
Hola buenas.. espero que me puedan ayudar. estuve buscando en el foro antes de consultar pero no encontre nada que realmente me solucionara mi problema.
Por favor miren ese trozo de codigo, al compilarlo y cargarlo al pic no tengo problemas, lo que necesito saber es como tendria que configurar el printf o si ahi que hacerlo de otra manera para que me solicite el dato que quiero ingresar
uso el mplab con el ccs la pastilla es PIC 16f873a haaa tambien este menu lo veo por el hiperterminal
Pofavor disculpen mi ignorancia pero estoy recien empezando
Gracias ,,,espero sus comentarios
Rodrigo
while (true)
{
Dato=getc();
if (Dato==115)
{
printf( "\r\n");
printf("Ingrese primer valor: \n\r");
var1=getc();
printf( "\r\n");
printf("Ingrese segundo valor: \n\r");
var2=getc();
s = var1 + var2;
printf( "\r\n");
printf("Resultado= %d",s);
printf( "\r\n");
printf("Presione C para continuar");
}
}
-
Hola Rodrigo
Lo que quieres es pedir que te ingresen un dato cierto?
Tienes dentro de while true el getc
Te recomoendo lo siguiente
#use rs232(baud=9600, xmit=PIN_C6, rcv=PIN_C7, bits=8)
Esto es para definir el uso del puerto serial
Es muy importante que sea por el PIn C6 C7 (los que tiene habilitados el micro para puerto serial por hardware)
Si le pones otro te funciona igual, pero las interrupciones no funcionan...
#int_rda
Void lo_que_quieras()
{
Dato=getc();
}
...
.....
No olvides habilitar las interrupciones en main
-
Gracias por tu respuesta amigo
lo que puse solo era un trozo del codigo
la comunicacion serial yo la declare de esta forma, me podrias explicar para que es el bit=8 que colocaste al final
#use rs232(baud=9600, xmit=PIN_C6, rcv=PIN_C7)
lo otro que aun no entiendo es como cuando el programa pase por el
printf("Ingrese primer valor: \n\r"); este me espere a que yo ingrese el valor a sumar en este caso
por ultimo habilitar las interrupciones en el main te refieres a hacer algo asi
int var1;
int var2;
muchas gracias,,espero entiendas mis dudas