Hola amigos.
En primer lugar decir que es mi primer contacto con este tipo de modulos RF.
La cuestión es que he adquirido estos dos módulos RF:
http://www.ebay.es/itm/280924194031?ssPageName=STRK:MEWNX:IT&_trksid=p3984.m1497.l2649
Estoy intentando realizar una comunicación serie entre ellos, pero no lo consigo.
Para probar he hecho lo siguiente:
PC->SerieTTL->TX |||||||> RX->PIC16F84A (velocidad 2400bps)
Donde el programa del PIC, lee la información recibida y si se ha recibido un 1,2 o 3 (ASCII), conmuta RB1,RB2 o RB3.
Si conecto el SerieTTL directamente al PIC, funciona perfectamente, pero si lo hago mediante los modulos RF, nada... Decir también que si conecto el modulo RX a un osciloscopio, este me mide una señal de unos 3kHz de frecuencia, permanentemente...
¿La salida de éste no tendría que ser TTL?.
Por favor ayúdenme.
Un saludo!
PD: adjunto imagen de la señal medida a la salida del modulo RX y programa del PIC.
En primer lugar decir que es mi primer contacto con este tipo de modulos RF.
La cuestión es que he adquirido estos dos módulos RF:
http://www.ebay.es/itm/280924194031?ssPageName=STRK:MEWNX:IT&_trksid=p3984.m1497.l2649
Estoy intentando realizar una comunicación serie entre ellos, pero no lo consigo.
Para probar he hecho lo siguiente:
PC->SerieTTL->TX |||||||> RX->PIC16F84A (velocidad 2400bps)
Donde el programa del PIC, lee la información recibida y si se ha recibido un 1,2 o 3 (ASCII), conmuta RB1,RB2 o RB3.
Si conecto el SerieTTL directamente al PIC, funciona perfectamente, pero si lo hago mediante los modulos RF, nada... Decir también que si conecto el modulo RX a un osciloscopio, este me mide una señal de unos 3kHz de frecuencia, permanentemente...
¿La salida de éste no tendría que ser TTL?.
Por favor ayúdenme.
Un saludo!
PD: adjunto imagen de la señal medida a la salida del modulo RX y programa del PIC.
PHP:
#BYTE PORTA=0x05
#BYTE PORTB=0x06
#bit led1=portb.1
#bit led2=portb.2
#bit led3=portb.3
#define L1ON 49
#define L2ON 50
#define L3ON 51
void entrada_de_datos();
int BTin=0;
void main(){
set_tris_b(0x00);
PORTB=(0x00);
while(true){
if(kbhit()){
entrada_de_datos();
}
}
}
void entrada_de_datos() {
BTin=GETC();
printf("\f");
printf("OK");
switch(BTin){
case L1ON:
led1=!led1;
break;
case L2ON:
led2=!led2;
break;
case L3ON:
led3=!led3;
break;
}
return;
}