Página 1 de 1

[Resolvido] PCL do PIC / interrupção

MensagemEnviado: 19 Mai 2010 12:56
por [Daniel]
Colegas,

Vou ser breve, gostaria de saber sobre o PCL do pic.

Quando usamos interrupçoes é importante salvar o valor do pcl?
é nescessario fazer essa tarefa? ou depende o caso?

por exemplo:

-----------------------------
org 0x04
swapf STATUS, w
clrf STATUS
movwf ssave
movf PCLATH, w
movwf psave
;..............
;..............
movf psave,w
movwf PCLATH
swapf ssave,w
movwf STATUS
swapf wsave,f
swapf wsave,w

retfie
-----------------------------

Obrigado

MensagemEnviado: 19 Mai 2010 13:17
por proex
Vc só precisa salvar o PCL antes, se for usa-lo dentro de sua rotina de interrupcao.

MensagemEnviado: 19 Mai 2010 14:59
por [Daniel]
Voce quer dizer usar instruçoes de chamada CALL e Tabelas? isso quando for executado entre o org 0x04 e o retfie?

MensagemEnviado: 19 Mai 2010 15:20
por proex
[Daniel] escreveu:Voce quer dizer usar instruçoes de chamada CALL e Tabelas? isso quando for executado entre o org 0x04 e o retfie?


Isso mesmo, se vc for ler tabela ou usar call dentro de INT, vc tem que salvar o PCLATH antes de entrar na INT e restaura-lo na saida da INT.

MensagemEnviado: 19 Mai 2010 15:40
por [Daniel]
po, entao é isso! que bom, obrigadao ai proex, espero poder retribuir sua ajuda alguma hora.

Grato

Problema resolvido!