interrompe com mikroC

K

kar2on

Guest
Oi, eu gostaria de saber há algum registros eu tenho que reiniciar antes de eu sair de uma interrupção. Digamos que uma interrupção de TMR0, o prog que eu escrevi em mikroC parecido com este. interrupção void () {TMR0L = 0x96; PORTD = 0x99; INTCON = 0xA0; return;} void main () {INTCON = 0xA0; T0CON = 0x88; PIE1 = 0x01; TRISD = 0; PORTD = 0xFF; TMR0H = 0x00; TMR0L = 0x96;} De acordo com a minha understading a interrupção deve definir PORTD permanentemente para ox99, mas por alguma razão PORTD alterações 0xFF para um pouco depois para 0x99, e repete esse ciclo sobre e sobre.
 
sim u fazer, eu prefiro sugerir u escrever a função como tat
Code:
 interrupção void () {TMR0L = 0x96; PORTD = 0x99; INTCON = 0x20 / / Set T0IE, claro T0IF}
e no final de a principal função colocar
Code:
 while (1); / / loop infinito
que diz respeito
 
Desculpe, eu encontrei a solução, eu tenho que desativar o watchdog timer. Após desativá-lo everythign parece estar a correr bem. Eu acho que teh WDT foi zerando o programa. Anywayz apenas curioso para saber por ADCON deve ser definido como 0x20, em vez de A0, do jeito que eu vi o MSB do neede ADCON a ser definido como bem .... Cumprimentos,
 

Welcome to EDABoard.com

Sponsor

Back
Top