Forum: Compiler & IDEs ISR ???


von Mike (Gast)


Angehängte Dateien:

Lesenswert?

Hallo @ll,

ich bin noch ziemlicher Neuling, und entdecke nach einiger ASM
Erfahrung nun C. Ich hab den angehängten Sourcecode im Netz gefunden
und kann mir nicht erklären was es mit der Prozedur SIGNAL
(SIG_OVERFLOW1) auf sich hat. Ich verstehe die ganzen Aufrufe innerhalb
der Prozedur usw. was ich nicht verstehe, das SIGNAL (SIG_OVERFLOW1)
selbst nicht aufgerufen wird. Oder ist es vielleicht eine ISR?? Bisher
hab ich diese nur im folgenden Format gesehen.

interrupt [TIM1_OVF] void timer1_ovf_isr(void)
{

}

Grüße Mike

von Werner B. (Gast)


Lesenswert?

Da kann ich Dir nur

  http://www.mikrocontroller.net/wiki/AVR-GCC-Tutorial

empfehlen :)

Gruß

Werner

von Alex (Gast)


Lesenswert?

Wenn du mit C-Beispielen kommst, solltest du wenigstens die
Compilerbezeichnung mit anführen. Nach GCC schaut es mir jedenfalls
nicht aus.

von peter dannegger (Gast)


Lesenswert?

@Alex

#include<avr/ ...

riecht aber meilenweit nach GCC.


Peter

von Jörg Wunsch (Gast)


Lesenswert?

Warum sollte jemand anders nicht auch eine vernünftige
include-Hierarchie aufsetzen können?

interrupt[index] ist jedenfalls alles andere als GCC.

von Matthias (Gast)


Lesenswert?

Hi

Vernunft bei kommerziellen Softwareentwicklungen....?

SCNR ;-)

Im Anhang ist eindeutig ein AVRGCC Programm da dort mit SIGNAL()
gearbeitet wird. Mike ist allerdings nur die andere Schreibweise
bekannt die er in seinem Posting zitiert. Die passende Antwort auf
seine Frage wurde auch schon 11 Minuten nach seiner Frage gepostet.

Matthias

von mthomas (Gast)


Lesenswert?

>Oder ist es vielleicht eine ISR?? Bisher
>hab ich diese nur im folgenden Format gesehen.
>interrupt [TIM1_OVF] void timer1_ovf_isr(void)

Ja, SIGNAL(...) im angehaengten Code leitet eine ISR ein und entspricht
im Prinzip der genannten Zeile im Text fuer einen anderen AVR C-Compiler
(Codevision?). Definition von ISRs ist halt recht compilerspezifisch.
Fuer weitere Informationen zur Vorgehensweise bei avr-gcc/avr-libc
siehe genannten Wiki-Artikel.

von Mike (Gast)


Lesenswert?

Hallo nochmal,

ihr lagt alle fast richtig. Ich kannte bisher nur ISR welche in
Codevision geschrieben wurden, bis mir durch Zufall dieser von mir oben
angehängte Code in die Hände fiel. Dieser ist GCC - Code und sah mir wie
gesagt etwas merkwürdig aus. Mit Werner B. ´s Hinweis, war dann die Welt
wieder in Ordnung. Vielen Dank Euch allen für Eure Hinweise.

PS. mthomas :  Du hast den Nagel absolut auf den Kopf getroffen,
              Dedektiv??   =:)

Gruß und Dank

Mike

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.