ISR TIMER0_COMPA Interrupt Warning

Gast #5609704
Lesenswert?
• ▲
▼
Nabend,
ich habe neben meiner Datei main.c (wo sich meine main-Funktion 
befindet) eine Datei und Header für timer (also timer.h und timer.c)
In denen habe ich die Funktionenn für die Initialisierung der Timer 
gemacht.

Die Interrupt-Routine rufe ich dann mti
ISR(TIMER0_COMPA_vect) auf.

timer.c
1
void timer_init()
2
{
3
  TCCR0A |= (1 << WGM01); // CTC-Mode
4
  TCCR0B |= (1 << CS00) | (1 << CS01); // clkI/O/64
5
  OCR0A = (250 - 1);
6
  TIMSK0 |= (1 << OCIE0A);
7
  
8
  TCCR2A |= (1 << WGM01); // CTC-Mode
9
  TCCR2B |= (1 << CS00) | (1 << CS01); // clkI/O/64
10
  OCR2A = (250 - 1);
11
  TIMSK2 |= (1 << OCIE2A);
12
}
13

14
ISR (TIMER0_COMPA_vect)
15
{
16
  //static int32_t milliseconds = 0;
17
  //milliseconds++;
18
  //
19
  //if(milliseconds>=1000)
20
  //{
21
  //  milliseconds = 0;
22
  //}
23
}


ist diese Funktion (ISR (TIMER0_COMPA_vect)) in der Datei main.c, 
bekomme ich beim kompilieren keine Warnung. Ist diese Funktion 
allerdings in der timer.c bekomme ich die Warnungen

control reaches end of non-void function
return type defaults to 'int'
type of '__vector_14' defaults to 'int'

Was ist der Unterschied an den ISRs bezüglich der normalen funktionen? 
für die Funktion timer_init bekomme ich ja keine Fehlermeldung.
Oder sollten die ISRs in die main.c?

Mark

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.