Hola,
quería saber si había que tener algo especial en cuenta para comunicar mi PIC16f84a (NO TIENE PUERTO SERIE) con un módulo XBEE. Mi código lo adjunto a continuación, lo he probado y estoy casi seguro que no falla el HW ya que se conectan muy facilmente los dos. ¿Alguien puede ayudarme a encontrar un error en el código? Se supone que emulo el puerto serie no? Un saludo.
#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);
}
}
#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,b its=8,invert)