ISR_PIC6f873a

Software e Hardware para uC PIC

Moderadores: andre_luis, 51, guest2003, Renie

ISR_PIC6f873a

Mensagempor juniorlucival » 27 Ago 2015 01:02

Boa noite, amigos, estou fazendo uma rotina em um pic 16f873a, e estou usando timer1 com interrupção, vejam, eu tenho na rotina principal, uma varredura de valores e atualiza variáveis que ao entrar na interrupção atualiza o valor do timer1, o código funcionou, mas vejam esse pic tem duas paginas de programa, uma até 0x7ff e de 0x800 ao final, quando o interrupt ocorre quando a rotina principal esta na segunda pagina, ao retornar do interrupt ele volta em um local errado, já conferi pelo mplab e o pcl e o pclath estão sendo
salvo corretamente, mas ao retornar ele vai para um ponto aleatório na rotina principal, estou fazendo em asm, na primeira pagina tudo ok, mas na segunda pagina, além de não retornar no lugar correto gie e todos os registradores da interrupção são resetados. Amigos não quero uma análise do código, se os senhores já tiveram a mesma dificuldade por favor post a dica.
juniorlucival
Nibble
 
Mensagens: 63
Registrado em: 02 Jan 2010 14:44

Re: ISR_PIC6f873a

Mensagempor andre_luis » 27 Ago 2015 07:46

juniorlucival escreveu:Amigos não quero uma análise do código, se os senhores já tiveram a mesma dificuldade por favor post a dica.


Analisar o código seria inevitável, pois você certamente não está acessando o registrador no banco correto.
"Por maior que seja o buraco em que você se encontra, relaxe, porque ainda não há terra em cima."
Avatar do usuário
andre_luis
Dword
 
Mensagens: 5447
Registrado em: 11 Out 2006 18:27
Localização: Brasil - RJ

Re: ISR_PIC6f873a

Mensagempor juniorlucival » 27 Ago 2015 15:57

Sim isso eu verifiquei, e mesmo verificando acresci um banksel em todos registradores, e se fosse banco errado como na primeira pagina do programa funciona tudo corretamente ? farei um video para ficar mais claro e irei postar, gostaria muito de ajuda, sei que e um problema simples para os senhores, mas nao posso continuar estudando sem estar certo de que o erro e meu. Obrigado pela resposta,
juniorlucival
Nibble
 
Mensagens: 63
Registrado em: 02 Jan 2010 14:44

Re: ISR_PIC6f873a

Mensagempor juniorlucival » 27 Ago 2015 23:19

Boa noite amigos, eu encontrei o problema era simples mas gostaria de compartilhar com amigos, vai que tem outro ai com a mesma dúvida e é bom pra ficar atento. Na instrução da minha interrupção havia uma instrução goto, e toda vez que a interrupção ocorria na primeira pagina do programa tudo bem, mas se fosse na segunda pagina, ela considerava o pclath atual e direcionava para dentro do programa, bastou atualizar o pclath antes do goto e tudo voltou ao normal. Obrigado ao amigo que me deu atenção. E a todos do fórum.
juniorlucival
Nibble
 
Mensagens: 63
Registrado em: 02 Jan 2010 14:44

Re: ISR_PIC6f873a

Mensagempor andre_luis » 28 Ago 2015 19:02

Quem bom que resolveu, mas sempre possivel evita o GOTO, pois quebra a estrutura do programa, além de voce ficar viciado nos atalhos imposiveis de analisar.
"Por maior que seja o buraco em que você se encontra, relaxe, porque ainda não há terra em cima."
Avatar do usuário
andre_luis
Dword
 
Mensagens: 5447
Registrado em: 11 Out 2006 18:27
Localização: Brasil - RJ


Voltar para PIC

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante

x