TODOPIC

Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: racer en 31 de Diciembre de 2009, 11:17:41

Título: Problema con funcion getc() en Proteus
Publicado por: racer en 31 de Diciembre de 2009, 11:17:41
hola a todos :
estoy realizando una aplicación de comunicación rs232 y probandola con proteus , el codigo es el sig. :

#include <16f887.H>
#include <string.H>
#fuses HS,NOWDT,NOPROTECT
#use delay(clock=4000000)
#USE RS232(baud=9600,parity=N,xmit=PIN_C6,rcv=PIN_C7)
void main()
{
   
      int  j,i;
      char dato;
     
     set_tris_b(0x00); //puerto b como salida
     set_tris_a(0x00);
    set_tris_c(0b10000000); configuracion de los pines pra la tx  y rx del 232
    // set_tris_c(0x00);
     disable_interrupts(GLOBAL);
    output_LOW(PIN_B1);
      while(TRUE)
      {
 
 
delay_us(50);
if(kbhit( ))   // aca nunca entra........
{
dato=getc(); //devuelve carácter recibido
putc(dato);
output_HIGH(PIN_B1);
delay_us(19000);
output_LOW(PIN_B7);
}
else
{
putc(49);
output_HIGH(PIN_B7);
output_LOW(PIN_B1);
}
 
   }
     }// fin del main 

el problema es que no recibe  nada , siempre devuelve 1 osea 49 en ascii , y se que le estoy enviando datos desde otra aplicacion ya que la  aplicacion que tengo para enviar datos la pruebo con el hyperterminal de Windows y funciona bien.

busque en el foro pero no lo solucione.
si alguien puede saber que pasa en el codigo  se lo agradeceria .

aclaro , estoy programando con CCS , y la version del proteus es la  7.5 sp3

Saludos.
Título: Re: Problema con funcion getc() en Proteus
Publicado por: jhozate en 31 de Diciembre de 2009, 14:52:28
a vuelo de pajaro q miro el codigo, lo primero seria cambiar el fuse HS por XT ya que estas utilizando un clock de 4Mhz. HS es para mayor a 4Mhz
saludos