Dificuldade com RF + PIC18F4520

Olá pessoal.
Estou tentando fazer com que dois PIC's se comuniquem por RF.
Comprei dois módulos simples.
TWS-DS-3 e RWS-375-6. Ambos os dois de 433.92 MHz.
Datasheets
http://www.wenshing.com.tw/Data_Sheet/T ... _Sheet.pdf
http://www.wenshing.com.tw/Data_Sheet/R ... _Sheet.pdf
Fiz antenas de 17,5 cm cada uma.
A taxa de transferência que estou usando na USART é de 2400bps.
Tudo ocorre muito bem quando estou me comunicando por um fio qualquer na protoboard diretamente entre os PIC's.
Porém ao ligar os módulos RF aos PIC's não existem comunicação alguma.
O circuito é alimentado com 5V.
Já tentei taxas de transferências mais altas do que 2400bps e não tive sucesso.
Código do PIC que transmite.
Código do PIC que recebe.
Obrigado e até mais!
Estou tentando fazer com que dois PIC's se comuniquem por RF.
Comprei dois módulos simples.
TWS-DS-3 e RWS-375-6. Ambos os dois de 433.92 MHz.
Datasheets
http://www.wenshing.com.tw/Data_Sheet/T ... _Sheet.pdf
http://www.wenshing.com.tw/Data_Sheet/R ... _Sheet.pdf
Fiz antenas de 17,5 cm cada uma.
A taxa de transferência que estou usando na USART é de 2400bps.
Tudo ocorre muito bem quando estou me comunicando por um fio qualquer na protoboard diretamente entre os PIC's.
Porém ao ligar os módulos RF aos PIC's não existem comunicação alguma.
O circuito é alimentado com 5V.
Já tentei taxas de transferências mais altas do que 2400bps e não tive sucesso.
Código do PIC que transmite.
- Código: Selecionar todos
#include <p18F4520.h>
#include <usart.h>
#include <delays.h>
#include <stdio.h>
//#include "C:\Program Files (x86)\Microchip\mplabc18\v3.38\h\P18F4520.h"
// Frequencia do oscilador = 8MHz
// Ciclo de máquina = 1/(Fosc/4) = 0,5us
//#pragma config OSC = XT //Configura o oscilador a cristal
#pragma config OSC = HS
#pragma config WDT = OFF //Desabilita o Watchdog Timer (WDT).
#pragma config PWRT = ON //Habilita o Power-up Timer (PWRT).
#pragma config BOREN = ON //Habilita Brown-out reset
#pragma config BORV = 1 //Tensão do BOR é 4,33V.
#pragma config PBADEN = OFF //RB0,1,2,3 e 4 configurado como I/O digital.
#pragma config LVP = OFF //Desabilita o Low Voltage Program.
#define bEnviar PORTDbits.RD2
void main()
{
TRISB = 0x00;
TRISC = 0x0F;
TRISD = 0b00;
TRISE = 0x00;
OpenUSART(USART_TX_INT_OFF //desabilita interrupção de transmissão
& USART_RX_INT_OFF //desabilita interrupção de recepção
& USART_ASYNCH_MODE //modo assíncrono
& USART_EIGHT_BIT //transmissão e recepção em 8 bits
& USART_BRGH_LOW, //Baud Rate em baixa velocidade
51); //SPBRG
while(1)
{
if(bEnviar == 0)
{
putcUSART(0x55);
while (BusyUSART()); //Aguarda o final da transmissão
Delay10KTCYx(50);
}
}
}
Código do PIC que recebe.
- Código: Selecionar todos
#include<p18f4520.h>
#include<delays.h>
#include<usart.h>
//Cristal de 8Mhz
#pragma config OSC = HS
#pragma config WDT = OFF
#pragma config PWRT = ON
#pragma config BOREN = ON
#pragma config BORV = 1
#pragma config PBADEN = OFF
#pragma config LVP = OFF
unsigned char byte=0x00;
void main()
{
ADCON1 = 0x0F; //Desabilita todos os canais AD
//TRISA = 0x00;
TRISB = 0x00;
TRISD = 0x00;
PORTB = 0;
PORTD = 0;
TRISC = 0x80;
//TRISE = 0x00;
OpenUSART(USART_TX_INT_OFF //desabilita interrupção de transmissão
& USART_RX_INT_OFF //desabilita interrupção de recepção
& USART_ASYNCH_MODE //modo assíncrono
& USART_EIGHT_BIT //transmissão e recepção em 8 bits
& USART_BRGH_LOW, //Baud Rate em baixa velocidade
51); //SPBRG
while(1)
{
while(!DataRdyUSART());
byte = getcUSART();
PORTB = 0xff;
Delay10KTCYx(0xff);
PORTB = 0x00;
if(byte==0x55)
{
PORTD = 255;
Delay10KTCYx(0xff);
byte=0x00;
PORTD = 0;
}
else
{
PORTD = 0;
Delay10KTCYx(0xff);
byte=0x00;
}
}
}
Obrigado e até mais!