countercompare falscher interruptsprung -C- tiny2313

OP #345885
Lesenswert?

hi,

ich habe vor das beim counter beim erreichen eines wertes der interrupt
kommt und ein unterprogramm auslößt.

es klappt auch ganz gut, nur das laut simulator ( avr studio ) das
programm komplett neu startet und nicht die interruptroutine.

das selbe problem ist beim "anspringen des externen interrupts

sobald ich mit ISR den zweiten interruptvektor setze mault der compiler
das ISR schon defeniert ist.



zum code ( ausschnittweise )

main(void)
{
.
.
// counter 16bit
TCCR1B |= (1<<CS12)|(1<<CS10); // Setzt timer teiler auf 1024
TIMSK |= (1<<OCIE1A); // interrupt bei compare
OCR1A = 2; // vergleichsregister einen wert zuordnen

// counter 8bit
TCCR0B |= (1<<CS00)|(1<<CS02); // teiler auf 1024


// interruptroutine aktivieren
GIMSK |= (1<<INT1); // externer interrupt
MCUCR  |= (1<<ISC11 )|(1<<ISC10 ); //flankendefinition interrupt int1

sei();

while (1)
{
}
.
.
}// main zu ende


//SIGNAL(TIMER1_COMPA)
ISR(TIMER1_COMPA_vect)
{
}
OP #345887
Lesenswert?

habe gesehen das der compiler was rauswirft wenn man einzeln
kompiliert:

../lighterv1.c:453: warning: return type defaults to `int'
../lighterv1.c: In function `ISR':
../lighterv1.c:474: warning: control reaches end of non-void function


#include "lighterv1.h"

dadrin sidn die:

#include <inttypes.h>
#include <avr/io.h>
#include <avr/delay.h>
#include <avr/eeprom.h>
#include <stdint.h>
#include <avr/pgmspace.h>
#include <avr/interrupt.h>

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren