mikrocontroller.net

Forum: Compiler & IDEs ISR ???


Autor: Mike (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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

Autor: Werner B. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Da kann ich Dir nur

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

empfehlen :)

Gruß

Werner

Autor: Alex (Gast)
Datum:

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

Autor: peter dannegger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Alex

#include<avr/ ...

riecht aber meilenweit nach GCC.


Peter

Autor: Jörg Wunsch (Gast)
Datum:

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

interrupt[index] ist jedenfalls alles andere als GCC.

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: mthomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Mike (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.