Autor Tema: Ayuda: Conexión Xbee pro con PIC16F84A  (Leído 3405 veces)

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

Desconectado davidendresden

  • PIC10
  • *
  • Mensajes: 14
Ayuda: Conexión Xbee pro con PIC16F84A
« en: 03 de Diciembre de 2009, 16:46:14 »
Hola,

pido vuestra ayuda porque quiero conectar mi PIC16F84A con un PC mediante módulos de Xbee pro. He buscado por internet, me he informado y he montado la placa pero sigue sin funcionar la conexión inalámbrica.

Yo conecto directamente el pin RA1 del PIC (para recibir datos) con el pin 2 del Xbee pro, y el RA0 del PIC con un montaje de resistencias al pin 3 del Xbee pro. He colocado el resto de elementos como el regulador para convertir tensión, etc. ¿La conexión es así de fácil no? Sé que se utiliza un MAX232 para pasar a puerto serie, pero en este caso no me haría falta.

Sin embargo tengo dudas respecto al programa en C, ya que yo sigo utilizando mi orden RS232:

#include "C:\Documents and Settings\David Crespo Ramírez\Escritorio\Uni\Robótica\ROVI\ROVI C\ROVI_h"
#include <stdio.h>

#BYTE TRISA=0x85
#BYTE PORTA=0x05
#BYTE TRISB=0x86
#BYTE PORTB=0x06

void main()
{

   char orden;
   setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
   orden='5';
   TRISB=0b00000000;   /*Para envío de órdenes a los motores*/
   TRISA=0b00000010;   /*Activo el pin RA1 para recepción de los bits mandados por ZigBee y pin RA0 Para transmitir información al ZigBee*/

   printf("Adelante ROVI");
   while(TRUE)
   {
   orden=getc();
   /*RB3 RB2 RB1 RB0*/
   /*IA ID DA DD*/
   if (orden=='8') PORTB=0b00000101; /*00101*/
   if (orden=='2') PORTB=0b00001010; /*01010*/
   if (orden=='4') PORTB=0b00001001; /*01001*/
   if (orden=='6') PORTB=0b00000110; /*00110*/
   if (orden=='5') PORTB=0b00000000; /*00000*/

   putc(orden);
   }
}

Con el .h

#include <16F84A.h>

#FUSES NOWDT                    //No Watch Dog Timer
#FUSES HS                       //High speed Osc (> 4mhz)
#FUSES NOPUT                    //No Power Up Timer
#FUSES NOPROTECT                //Code not protected from reading

#use delay(clock=8000000)
#use rs232(baud=19200,parity=N,xmit=PIN_A0,rcv=PIN_A1,bits=8,invert)

¿Podéis aclararme la conexión? Creo que en esto influye también mi programa.

Gracias.


Desconectado jhozate

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1698
Re: Ayuda: Conexión Xbee pro con PIC16F84A
« Respuesta #1 en: 03 de Diciembre de 2009, 17:30:22 »
aqui en el foro se encuentra la conexion basica.


tenes q poner cuidado que ambos modulos esten configurados al mismo baudrate, cual es el baudrate por defecto de los modulos?
Ser Colombiano es un Premio, Saludos desde CALI-COLOMBIA

Desconectado davidendresden

  • PIC10
  • *
  • Mensajes: 14
Re: Ayuda: Conexión Xbee pro con PIC16F84A
« Respuesta #2 en: 04 de Diciembre de 2009, 07:21:30 »
Hola jhozate,

primeramente gracias por tu ayuda. Ahora tengo claro que todas las conexiones están bien. Ambos módulos ZigBee están a 19200Bd. He hecho el Range test y es correcto, se comunican entre sí. La placa es correcta. ¿Ves algún fallo en el .c o .h? Gracias

Desconectado superpato

  • PIC10
  • *
  • Mensajes: 3
Re: Ayuda: Conexión Xbee pro con PIC16F84A
« Respuesta #3 en: 11 de Septiembre de 2011, 16:43:23 »
hola, amigo mira creo que el pic 16f84A no puede comunicarse puesto que no posee usart, portanto no puedes usar la directiva del rs232. tenes 2 opciones:
hacer la comunicacion por software rs232, q es complejo, o bien utiliza el pic16f877 que si posee usart. saludos.