TODOPIC
Microcontroladores PIC => Almacén del Assembler => Mensaje iniciado por: julio_med en 20 de Octubre de 2007, 02:15:27
-
hola a todos
traigo una inquietud que de pronto ya han solucionado en el foro pero..........
quiero enviar datos por rf de un pic a otro y tengo esta rutina:
ENVIAR
MOVLW .8
MOVWF COUNT
BCF PORTB,6
CALL UNBIT
XNEXT BCF PORTB,6
BCF STATUS,C
RRF AUX
BTFSC STATUS,C
BSF PORTB,6
CALL UNBIT
DECFSZ COUNT
GOTO XNEXT
BSF PORTB,6
CALL UNBIT
GOTO ENVIAR
UNBIT MOVLW .166
STAR MOVWF LOOP1
RET NOP
NOP
DECFSZ LOOP1
GOTO RET
RETLW 0
pero el que resibe, no resibe nada o bien esta recibiendo datos todo el tiempo asi el que envia no lo este haciendo o este desconectado. no tengo el nombre de el modulo pero se que trabaja a 433mhz
alguien sabe como puedo hacer funcionar el vendito programa.
-
Hola Julio.Primero: yo nunca he trabajado con este tipo de módulos, pero sería de utilidad ver el diagrama de conexión de tu circuito, para ver si guarda coherencia con el código expuesto.
¿Cómo detectás que hay un nuevo dato disponible para ser leído?
Saludos.
-
Hola julio_med. yo estoy empezando con lo módulos. Lo que te aconcejo es que pongas un codifocador y decodificador para la señal, ya que de esta manera te aseguras de recibir los datos proenientes de una fuente y no varias. Yo uso los módulos HT-12D y HT-12E.
Saludos. :-/ :-/
-
Leon Pic
lo malo es que no se si pueda conseguir esos modulos. ademas yo creo que el problema no es de hardware si no de software, se podria generar una rutina que obligue al receptor a solo tomar los datos que yo le envio pero no me a podido funcionar
aqui mando la rutina del receptor
RECIBIR
BSF PORTB,1
CLRF RECEP
BTFSC PORTB,6
GOTO RECIBIR
BCF PORTB,1
CALL MED
RECIB MOVLW .8
MOVWF CONTA
RECIB1 BCF STATUS,0
BTFSC PORTB,6
BSF STATUS,0
RRF RECEP
CALL UNBIT
DECFSZ CONTA
GOTO RECIB1
MED MOVLW .249
GOTO STAR
UNBIT MOVLW .166
STAR MOVWF RET
RET1 NOP
NOP
DECFSZ RET
GOTO RET1
RETURN
-
Hola julio_med. Ten encuenta que el receptor capta toda frecuencia y deja pasar la que está cintonizada, en tu caso 433 mhz. Si hay una fuente con muchas armónicas cerca, capaz de atenuar la fuente original, pasará también ruido electrico y tu receptor (pic) no hará nada. No descarto problemas en el software.
Trata de poner el diagrama del circuito para ser más facil ayudarte, ya que no se porqué pones a 1 el bit 1 del puerto b y luego lo pones a 0. Entiendo que debe ser para habilitar el módulo receptor, porque el que yo tengo no tiene pin para tal efecto (E). Si lo que haces es energizar el módulo, pon un retardo para esperar que se estabilize el receptor. Una consulta, ¿como llegas a la etiqueta RECIBIR por primera VEZ?, porque veo que dentro de esta rutina tenes una llamada más abajo CALL MED, cuando salga de aca queda en la rutina de RECIBIR.
Saludos. :-/ :-/