TIMSK i mega16*löst*

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
ob1
Inlägg: 40
Blev medlem: 29 mars 2006, 21:46:45

TIMSK i mega16*löst*

Inlägg av ob1 »

Vi försöker köra timer0 i overflow och timer1 som ICP och med overflow. Vad vi fått för oss bör TIMSK då ha värdet 0x25 men då vill inte timer0 köra överhuvudtaget.

Programmen fungerar var för sig klockrent.
Då är TIMSK 0x01 för timer0-programmet och
0x24 för timer1-programmet.

Någon idé om vad som strular?
Senast redigerad av ob1 15 maj 2006, 22:37:36, redigerad totalt 1 gång.
Användarvisningsbild
cykze
EF Sponsor
Inlägg: 1539
Blev medlem: 8 april 2004, 10:40:28
Ort: Uppsala

Inlägg av cykze »

Posta gärna en liten bit kod som visar felet.
ob1
Inlägg: 40
Blev medlem: 29 mars 2006, 21:46:45

Inlägg av ob1 »

// Timer/Counter 0 initialization
// Clock source: System Clock / 1024
// Clock value: Timer 0
// Mode: Normal top=FFh
// OC0 output: Toggle on compare match
TCCR0=0x05; // system clock..
TCNT0 = TIMER_INIT; // inital value
OCR0=0x00; // no output

// Timer/Counter 1 initialization
// Clock source: System Clock
// Clock value: 500.000 kHz
// Mode: Normal top=FFFFh
// OC1A output: Discon.
// OC1B output: Discon.
// Noise Canceler: Off
// Input Capture on Falling Edge
// Timer 1 Overflow Interrupt: On
// Input Capture Interrupt: On
// Compare A Match Interrupt: Off
// Compare B Match Interrupt: Off
TCCR1A=0x00;
TCCR1B=0x01;


// Timer(s)/Counter(s) Interrupt(s) initialization
TIMSK=0x25; //???????????????


// Timer 0 overflow interrupt service routine
interrupt [TIM0_OVF] void timer0_ovf_isr(void)
{
PORTB = 0xFF;
//remote_mode_run();
//engine_mode(1);
}


PORTB är konfiguread som utgång men ledsen som den är kopplad till släcks inte.
Mupp
Inlägg: 134
Blev medlem: 25 februari 2006, 10:30:38
Ort: Linköping

Inlägg av Mupp »

Koden är inte komplett, åtminstone finns inte felkällan med som jag ser det. Vad som saknas är dom andra två ISR:erna, och förhoppningsvis en sei(); nånstans. Det som finns ser korrekt ut åtminstone vid första anblick för mig.

Edit: Dock är jag obekant med den kompilator det verkar gälla, så nån annan får kommentera om ISR:en som finns med deklareras på rätt sätt.
ob1
Inlägg: 40
Blev medlem: 29 mars 2006, 21:46:45

Inlägg av ob1 »

problemet är löst. Tydligen får man inte ha ett interrupt bortkommenterat. Trodde det var testat med alla interrupts fast så var ICKE fallet.
Skriv svar