Autor Tema: Problema con funcion getc() en Proteus  (Leído 2137 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado racer

  • PIC10
  • *
  • Mensajes: 1
Problema con funcion getc() en Proteus
« 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.

Desconectado jhozate

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1698
Re: Problema con funcion getc() en Proteus
« Respuesta #1 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
Ser Colombiano es un Premio, Saludos desde CALI-COLOMBIA


 

anything