Interrupção

Software e Hardware para uC PIC

Moderadores: andre_luis, 51, guest2003, Renie

Interrupção

Mensagempor gilliard » 09 Fev 2010 11:15

:D Salve Salve Pessoal !!!! Tranquilo ?!?!? :D

Estou desenvolvendo um novo projeto, e me surgiu um novo desafio.

No Projeto, eu iniciei uma INTERRUPÇÃO com o Timer 1.

Dai, eu queria encerrar ela em um determinado ponto do programa. qual a melhor forma ?!?!?

Qual comando poderei usar ?!?!?

Abração pessoal !!!!
Avatar do usuário
gilliard
Byte
 
Mensagens: 121
Registrado em: 26 Ago 2008 13:32

Mensagempor cristian » 09 Fev 2010 11:25

vc está querendo desliga a interrupçao doi timer1???

no ccs seria disabled_interrupts(int_timer1);

nmo mikroc nao me lenbro qual o nome do flag q desliga acho q é o PIR.
cristian
Word
 
Mensagens: 570
Registrado em: 03 Nov 2006 08:15
Localização: serrinha-ba

Mensagempor gilliard » 09 Fev 2010 12:43

:D É que em determinada parte do programa, eu chamo uma subrotina, que executa uma Interrupção, dai quando eu saio dessa subrotina, eu gostaria que a interrupção tambem parasse.

Mas não é isso que esta acontecendo, dai quando eu preciso novamente chamar essa subrotina, dá problema no programa, pois ela já esta ligada, entendeu ?!?!?

Então eu preciso para-la, logo que sair da subrotina, dai da proxima vez que a ativar, não dará problema.

Fico no aguardo, de uma luz !!!!
Avatar do usuário
gilliard
Byte
 
Mensagens: 121
Registrado em: 26 Ago 2008 13:32

Mensagempor fabim » 09 Fev 2010 12:54

tio não se usa comando...

tu coloca.
INTCON.TMR1INT = 0 ou 1;;//não é exatamente o segundo nome

Olha no datasheet no registrador. INTCON.
Vai ver que tem um bit que liga ou desliga a interrupção de timer1, timer0, e oscaraiasquatro..

Pronto..

ou seja

INTCON.F+"numero do bit" = 1 para ligar ou 0 para desligar...

Isso é para qualquer tipo de compilador... sem xurumelas;..;.
Mano, ve só.
Sou responsável pelo que escrevo!!! E não pelo que você entende !!!
fabim
Dword
 
Mensagens: 5001
Registrado em: 16 Out 2006 10:18
Localização: aqui uái!!!?

Mensagempor Sergio38br » 09 Fev 2010 14:02

Qdo for religar a interrupção pare o timer( que continua correndo, vc apenas parou o sinal de interrupção) pare o timer, recarregue e depois ligue a interrupção.

[ ]'s
Sergio
Avatar do usuário
Sergio38br
Word
 
Mensagens: 759
Registrado em: 22 Nov 2007 13:39
Localização: São Paulo - SP

Mensagempor gilliard » 09 Fev 2010 14:33

Huumm então ficaria assim:

Ligado

Código: Selecionar todos

   T1CON = 1;
   PIR1.TMR1IF = 0;                 // Limpa TMR1IF
   PIE1  =   1;                     // Ativa Interrupção
   INTCON = 1;                      // Liga a Interrupção



Desligado:

Código: Selecionar todos

   T1CON = 0;
   PIR1.TMR1IF = 0;                 // Limpa TMR1IF
   PIE1  =   0;                     // Desativa Interrupção
   INTCON = 0;                      // Desliga a Interrupção

[/code]
Avatar do usuário
gilliard
Byte
 
Mensagens: 121
Registrado em: 26 Ago 2008 13:32

Mensagempor Sergio38br » 09 Fev 2010 14:34

ok, teste..

[ ]'s
Sergio
Avatar do usuário
Sergio38br
Word
 
Mensagens: 759
Registrado em: 22 Nov 2007 13:39
Localização: São Paulo - SP

Mensagempor gilliard » 09 Fev 2010 17:45

Então... Eu esqueci de comentar !!!!

Eu estou utilizando a interrupção, para reiniciar o microcontrolador, isso é correto ?!?!? Qual a melhor forma para isso ?!?!?

Valew pessoal !!!!
Avatar do usuário
gilliard
Byte
 
Mensagens: 121
Registrado em: 26 Ago 2008 13:32

Mensagempor gilliard » 09 Fev 2010 19:58

Eu estava pesquisando, e resolvi usar o recurso Watch Dog Timer, dai eu acionaria ele, quando eu quiser reiniciar o microcontrolador, oque acham da idéia ?!?!? Estou no caminho certo ?!?!?
Avatar do usuário
gilliard
Byte
 
Mensagens: 121
Registrado em: 26 Ago 2008 13:32

Mensagempor gilliard » 10 Fev 2010 06:45

Pessoal, me ajudem !!!!
Avatar do usuário
gilliard
Byte
 
Mensagens: 121
Registrado em: 26 Ago 2008 13:32

Mensagempor fabim » 10 Fev 2010 06:59

ajuda, do que?
C quer reiniciar pelo interrupt ? ou vai usar o wdt ? ou quem sabe quer desligar uma interrupção ? talvez queira aprender a usar o timer ?

Decide aí, depois alguem te da atençao..
Mano, ve só.
Sou responsável pelo que escrevo!!! E não pelo que você entende !!!
fabim
Dword
 
Mensagens: 5001
Registrado em: 16 Out 2006 10:18
Localização: aqui uái!!!?

Mensagempor gilliard » 10 Fev 2010 08:39

:D OK :D

:arrow: Eu quero ao acessar uma subrotina chamada reiniciar, ela execute o Watch Dog Time, para reiniciar o sistema.
Avatar do usuário
gilliard
Byte
 
Mensagens: 121
Registrado em: 26 Ago 2008 13:32

Mensagempor fabim » 10 Fev 2010 09:14

kkkkkkkkkkkkkkkkkkkkk
Mano, ve só.
Sou responsável pelo que escrevo!!! E não pelo que você entende !!!
fabim
Dword
 
Mensagens: 5001
Registrado em: 16 Out 2006 10:18
Localização: aqui uái!!!?

Mensagempor gilliard » 10 Fev 2010 09:47

Vocês vão me ajudar ?!?!? Se não quiserem, relaxa !!!!
Avatar do usuário
gilliard
Byte
 
Mensagens: 121
Registrado em: 26 Ago 2008 13:32

Mensagempor fabim » 10 Fev 2010 10:09

o gilliard. desculpa cara., mais ninguem nem eu mesmo esta entendendo o que você quer.
E antes de falar que vai ligar o wdt pra poder resetar o uC. Faz assim ó. Entra no google, e pesquisa sobre o wdt, pra ver como ele funciona..

É que você começou com uma coisa, depois passou pra outra, e depois comentou outra.

Assim não dá, assim não pode!!
O HELP do mikroC, é melhor que qualquer livro, qualquer forum ou qualquer curso presencial..

PErca o seu tempo um pouquinho com ele., você vai ficar menos confuso..
Mano, ve só.
Sou responsável pelo que escrevo!!! E não pelo que você entende !!!
fabim
Dword
 
Mensagens: 5001
Registrado em: 16 Out 2006 10:18
Localização: aqui uái!!!?

Próximo

Voltar para PIC

Quem está online

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

x