Si además quieres enviarnos un Artículo para el Blog y redes sociales, pulsa el siguiente botón:
Hola a todos, estoy intentando comunicar 2 pics mediante RF, con los modulos aurel SAW433 y bc-nbk, bien pues por cable consigo comunicarlos, y con los modulos de telecontroli tambien, pero con los de aurel no.
El programa es sencillito envio una A cada 250ms, pero solo recibo basura, pongo el codigo por si alguien me puede hechar una mano.
TX:
#include <16F874A>
#fuses XT,NOWDT,NOPROTECT,PUT,NOBROWNOUT,NOLVP
#use delay(clock=4000000)
#include <flex_lcd_2>
#use rs232(baud=2400, xmit=PIN_C6, rcv=PIN_C7)
#use fast_io(A)
#use fast_io(B)
#define LED1 PIN_E0
#define LED2 PIN_E1
int16 dato=' ';
void main(void)
{
inicio:
setup_adc_ports(NO_ANALOGS);
//set_tris_a(0b00000000);
set_tris_b(0b00000000);
set_tris_e(0b000);
//set_tris_c(0b00000000);
//set_tris_d(0b00000000);
ini:
printf("A");
delay_ms(250);
goto ini;
}
RX:
#include <16F877A>
#fuses XT,NOWDT,NOPROTECT,PUT,NOBROWNOUT,NOLVP
#use delay(clock=4000000)
#include <flex_lcd_2>
#use rs232(baud=2400, xmit=PIN_C6, rcv=PIN_C7)
#use fast_io(A)
#use fast_io(B)
#priority rda
#define LCD_DB4 PIN_B3
#define LCD_DB5 PIN_B2
#define LCD_DB6 PIN_B1
#define LCD_DB7 PIN_B0
//
#define LCD_RS PIN_B5
//#define LCD_RW PIN_B6
#define LCD_E PIN_B4
#define LED1 PIN_E0
#define LED2 PIN_E1
int16 dato=' ';
#int_rda
void serial_isr(void){
if(kbhit()){
dato=getc();
}
}
void main(void)
{
setup_adc_ports(NO_ANALOGS);
enable_interrupts(global);
enable_interrupts(int_rda);
//set_tris_a(0b00000000);
set_tris_b(0b00000000);
set_tris_e(0b000);
//set_tris_c(0b00000000);
//set_tris_d(0b00000000);
output_high(LED1);
delay_ms(500);
output_low(LED1);
lcd_init();
lcd_putc("Esperando");
ini:
lcd_gotoxy(1,2);
lcd_putc(dato);
goto ini;
}
PD: tengo puesta una pullup de 10k en la salida del receptor, alguien sabe si puede haber algun problema de hardware.
saludos
como, ke kieres decir? si ke lo use sin modulos y va perfecto, pero estos modulos no se que pasa que no consigo ke me funcionen por la usart, sin embargo los de telecontrolli RR10 y RT4, si
He leido que los modulos de aurel tienen la logica negada alguien sabe algo de esto, es decir la comunicacion por la usart no es igual que los telecontrolli?
MA_BLACK supongo que entonces esté ahí tu problema....tendrás que poner un inversor para que todo lo que recibas se vuelva a negar aunque si por cable te va bien es muy raro....
¿Qué te hizo decidirte por esos módulos y no por ejemplo con los típicos xbee que se usan tanto? Un saludo.
Bien, creo que lo que me invierte la señal son los modulos, porque el tx le llegan pulsos con flancos descendentes y en el rx son ascendentes, vamos como si lo invertiese.
No me decidi por estos por nada en particular, veras e usado los telecontrolli, que me van de maravilla y estos los tenia por casa sin usar, ademas que valen 7€ y los xbee 30€, estoy esperando a tener el programa acabado por cable para comprarme unos xbee.
Lo de usar estos es solo por precio y por usarlos en proyectos pequeños, minisumos, minibots, o aplicaciones sencillas, para mi hexapodo o el johnny5 usare los xbee.
Lo de estos modulos es solo como algo personal ya que los llevo intentando conectar varios años. y aun no lo he conseguido.
MA_BLACK, tienes el datasheet por ahí? es para no buscarlo...
S2
Ranganok Schahzaman