TODOPIC

Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: cristianmerz en 20 de Abril de 2005, 09:38:00

Título: No logro que funcione
Publicado por: cristianmerz en 20 de Abril de 2005, 09:38:00
Hola.

Estoy trabajando con un 16F84A y MAX232 para comunicaciones RS232 con la PC.

Ahora tengo un problema...arme el siguiente programa y envia datos:

#include <16F84.h>

#fuses HS,NOWDT,NOPROTECT

#use delay(clock=4000000)
#define Tx PIN_B5 // PIN de Transmisión
#define Rx PIN_B6 // PIN de Recepción
#use rs232(baud=9600, xmit=Tx, rcv=Rx)

void main() {

   int contador;

   set_tris_b(0b01000000);        

  while (true) {                  

     // putc("H");
     printf("Hola. Estoy vivo!!!

"Giño;

     while(--contador!=0)
       delay_us(100);
     };      



Aunque no logro recibir.....claro que con este programa no voy a poder porque no tengo lectura de datos, pero lo que no entiendo es como poner el Pin B6 como entrada, ya que por mas que al set_tris_b le ponga 0xFF o 0x00...los datos los envia igual...digamos que ni me tira el error por mas que declare al port b todo como entrada de datos.

Esto lo estoy monitoreando con dos leds uno en cada pin TX y TX con resistencias de 470 ohm.

Me podrian dar una idea como hago para dejarlo como hago para declarar bien la entrada y salida de datos, y que como le puedo agregar a mi programa una rutina para verificar que los datos llegan.

Desde ya muchas gracias.
Título: RE: No logro que funcione
Publicado por: MGLSOFT en 20 de Abril de 2005, 10:03:00
Puedes usar getc() para recibir, mira la ayuda del C y encontraras ademas sugerencias y ejemplos de uso...GiñoGiño
Título: RE: No logro que funcione
Publicado por: cristianmerz en 20 de Abril de 2005, 17:16:00
Claro, pero me refiero.

Para que se usa  set_tris_b si ponga lo que ponga anda de la misma forma...no cambia nada si le pongo todo cero o todo 1......

Me queda enviando a la PC sin problemas :P
Título: RE: No logro que funcione
Publicado por: pocher en 20 de Abril de 2005, 23:14:00
El set_tris_b para los pines de Tx y Rx creo que no hace falta, al haberlos definido en el #use rs232(baud=9600, xmit=Tx, rcv=Rx)

Un saludo