Autor Tema: INTERRUPCION  (Leído 1981 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado guille339682

  • PIC10
  • *
  • Mensajes: 3
INTERRUPCION
« en: 03 de Abril de 2005, 10:53:00 »
Saludos Amigos del PIC 16f87x
Necesitaria una Rutina que
Salve Registros Importantes para una INTERRUPCION
 "PUSH y POP" .ya que la que uso no anda bien.
Desde ya Muchas GRACIAS.guille
nuevosrumbossiglo21@hotmail.com


Desconectado guille339682

  • PIC10
  • *
  • Mensajes: 3
RE: INTERRUPCION
« Respuesta #1 en: 03 de Abril de 2005, 10:56:00 »
Cita:
Saludos Amigos del PIC 16f87x
Necesitaria una Rutina que
Salve Registros Importantes para una INTERRUPCION
 "PUSH y POP" .ya que la que uso no anda bien.
Desde ya Muchas GRACIAS.guille
guille.alva@gmail.com



Desconectado micro_pepe

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3206
RE: INTERRUPCION
« Respuesta #2 en: 04 de Abril de 2005, 13:33:00 »
El unico registro que se guarda tras la interrupcion de forma automatica es el PC, por lo que puede ser necesario guardar el registro de estado por ejemplo.

Y despues de una interrupción, es necesario resetear los flag de interrupción, pues no se borran.

Espero haberte sido de ayuda.
Se obtiene más en dos meses interesandose por los demás, que en dos años tratando de que los demás se interesen por ti.

新年快乐     的好奇心的猫死亡

Desconectado squallmx

  • PIC10
  • *
  • Mensajes: 40
RE: INTERRUPCION
« Respuesta #3 en: 04 de Abril de 2005, 16:17:00 »
aqui tienes la rutina que hago tras una int espero te sirva.

                MOVWF    W_TEMP                  ;RESPALDA W
              SWAPF    STATUS,W                ;RESPALDA
              MOVWF    ST_TEMP

codigo de int .........................                            
                MOVF   W_TEMP,W                
                SWAPF    ST_TEMP,W              ;VALOR ORIGINAL DE STATUS
              MOVWF    STATUS                  ;SIN AFECTARLO
   

Saludos

Desconectado jrcl

  • PIC10
  • *
  • Mensajes: 1
RE: INTERRUPCION
« Respuesta #4 en: 01 de Noviembre de 2005, 22:59:00 »
Escrito originalmente por squallmx
aqui tienes la rutina que hago tras una int espero te sirva.

                MOVWF    W_TEMP                  ;RESPALDA W
              SWAPF    STATUS,W                ;RESPALDA
              MOVWF    ST_TEMP

codigo de int .........................                            
                MOVF   W_TEMP,W                
                SWAPF    ST_TEMP,W              ;VALOR ORIGINAL DE STATUS
              MOVWF    STATUS                  ;SIN AFECTARLO
   

Saludos


El codigo de squallmx mejorado
En el codigo de int .................
                SWAPF    ST_TEMP,W        ;VALOR ORIGINAL DE STATUS
              MOVWF    STATUS                  ;SIN AFECTARLO
                swapf    W_TEMP,1               ;no afecta a STATUS
                swapf    W_TEMP,W              ;W=valor original, no afecta a STATUS

porq lo hice? en el codigo int ... original W termianaba con el valor de STATUS, y su valor original se perdia.

Gracias squallmx por tu rutina


 

anything