Código: ASM
;<<<<<<------------------- VECTOR DE INTERRUPCION -------------------->>>>>>> ORG 04H ;Vector de interrupcion INTER btfss PIR1,RCIF ;¿Interrupcion por recepcion? goto VOLVER ;No. Falsa interrupcion movf PIR1,RCIF ; >>>>>> LINEA MODIFICADA <<<<< movlw b'10000000' ;Envia el caracter, valor binario movwf TXREG ; del codigo ascii VOLVER retfie
gracias, maunix, pues he puesto el RC7 TX a 1, y el movf RCREG,W ,
por cierto el RCSTA ya estaba configurado de antes para recepcion continua
aqui --> movlw 90H ;Configuracion de la usart
movwf RCSTA ;para recepcion continua
es necesario habilitarlo de nuevo al terminar la interrupcion??
Hola compañero, has habilitado el bit RCIE (PIE1<5>), PEIE (INTCON<6>), GIE(INTCON<7>). Asegurate de setearlos.
confusion mia, tendre que probar a poner el TRISC<6> en 1, al principio lo puse como 0 porque es una salida de datos, pero bueno, por lo que parece el resto del programa esta bien configurado, si os dais cuenta de algun fallo mas en la configuracion os gradeceria q me lo dijerais, yo probare ahora cambiando la pata Tx y ya comentare el resultado, gracias y saludos :-)
El TX es el RC6 cuidado con eso. TRISC<6> y TRISC<7> ambos deben estar en 1.
confusion mia, tendre que probar a poner el TRISC<6> en 1, al principio lo puse como 0 porque es una salida de datos, pero bueno, por lo que parece el resto del programa esta bien configurado, si os dais cuenta de algun fallo mas en la configuracion os gradeceria q me lo dijerais, yo probare ahora cambiando la pata Tx y ya comentare el resultado, gracias y saludos :-)
pues no consigo nada, he configurado todo segun lo que hemos hablado hasta ahora, y la interrupcion sigue saltando nada mas comenzar el programa, no espera a que se mande ningun dato del ordenador, sigo mirando pero no encuentro el fallo, me desesperooo :-/ , si preferis que ponga el codigo completo lo pongo asi os asegurais de que todo este bien, seguire mirando, aver si me echais un cable por favor, gracias y saludos
Fijate si al encender el PIC o conectarle el cable de la PC tienes el pin de RX en bajo. Si es así tienes un problema de hardware.
Saludos
Fijate si al encender el PIC o conectarle el cable de la PC tienes el pin de RX en bajo. Si es así tienes un problema de hardware.
Saludos
Pues tenias razon, la cosa es q habia una conexion (q no la habia hecho yo pero bueno) :mrgreen: q ponia la pata de RX y la del max232 a 0, y por eso no recibia nada, pero ya esa solucionado y funciona, gracias por la ayuda a todos, para cualquier otra duda ya se donde postear, gracias otra vez y saludos
porque hay que poner rc6 y rc7 a 1?
si uno es de recepcion de datos y el otro de transmision de datos, es decir, uno de entrada y otro de salida no deberia ser uno a 0 y el otro a 1?
yo estoy utilizando un 16f876a
en el datasheet del 16f876a pone:
PORTC is an 8-bit wide, bi-directional port. The corresponding
data direction register is TRISC. Setting a
TRISC bit (= 1) will make the corresponding PORTC
pin an input (i.e., put the corresponding output driver in
a Hi-Impedance mode). Clearing a TRISC bit (= 0) will
make the corresponding PORTC pin an output (i.e., put
the contents of the output latch on the selected pin).
gracias maunix
no tenia idea que habia que ponerlos a 1 los dos, yo pona uno a 0 y el otro a 1, asi no me iba la transmision!
he estado buscando en la datasheet y no he encontrado donde pone que hay que ponerlos a 1 por eso era mi pregunta
creo que lo he encontrado
en datasheet pic16f87xa
pagina109
"Bit SPEN (RCSTA<7>) and bits TRISC<7:6> have to
be set in order to configure pins RC6/TX/CK and
RC7/RX/DT as the Universal Synchronous Asynchronous
Receiver Transmitter."
es esto?
muchas gracias maunix