Autor Tema: Comunicacion Serial  (Leído 1787 veces)

0 Usuarios y 2 Visitantes están viendo este tema.

Desconectado lxlDeMolxl

  • PIC10
  • *
  • Mensajes: 5
Comunicacion Serial
« en: 18 de Noviembre de 2011, 12:00:02 »
Buenas.
Tengo una duda, estoy tratando de simular la comunicación serie mediante el modulo USART del PIC16F877A, tengo este código para la recepcion de datos del PIC:


#include <16F877A.h>
#fuses XT,NOWDT,NOPROTECT,NOLVP,PUT,BROWNOUT,NOCPD,NOWRT
#use delay (clock=4000000)
#use rs232(baud=9600, xmit=pin_C6, rcv=pin_C7, bits=8, parity=N)

char coor=0;

#int_rda
void serial_isr()
{
    coor=getc();
}

void main()
{
   TRIS_B=0x00;       // config. todo el puerto como salida
            // 1 es entrada y 0 es salida

   port_B=0;          // blanquea el puerto (Apaga LED en RB0)
   
   enable_interrupts(global);
   enable_interrupts(int_rda);

   while(TRUE)
   {
     if(coor!=0)
     {
         RB0=1;               // Enciende LED en RB0
         delay_ms(1000);             // Retardo de 1s
         
     }
   
   }

Como se puede observar se trata de un programa que al recibir un numero distinto de "0" encienda un LED.
Pero al momento de simular en el proteus, no puedo escribir nada en el VIRTUAL TERMINAL, por lo que el PIC no responde.
Cual es el error??
Adjunto una imagen del circuito.
Espero su respuesta


Desconectado MerLiNz

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2463
Re: Comunicacion Serial
« Respuesta #1 en: 18 de Noviembre de 2011, 13:10:16 »
el max232 no es necesario ponerlo, aun asi, pon el virtual terminal en el TX y RX del pic no del max232 a ver si asi funciona.

Desconectado DominusDRR

  • PIC24H
  • ******
  • Mensajes: 1937
    • Sicoy
Re: Comunicacion Serial
« Respuesta #2 en: 30 de Noviembre de 2011, 18:22:04 »
Tu led está polarizado al revés. Así nunca se va a encender...
Tengo una idea algo difusa sobre MPLAB Harmony, XC32 con PIC32


 

anything