mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Interupt blockiert


Autor: Thomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
ich schreibe ein kleines Programm für die Steurung von einem CAN-Gerät. 
Bis jetzt habe ich zwei isr ohne Problem verwendet.Seit dem ich die ISR 
für das Timer benutze wird die andere Interrupt blockiert. wenn ich 
Daten sende, wird  nichts passiert. Kann mir jemanden sagen, wie ich das 
Problem lösen kann? Gibt es nicht einen Tick, einige Interrupt mit hohe 
Priorität zu setzen?

Autor: Andreas K. (a-k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Möglicherweise ja, aber den Universaltrick für alle Microcontroller, die 
auf dem Markt verfügbar sind, den gibt es nicht.

Möglicherweise liegt das Problem auch ganz woanders, denn Interrupts 
gehen i.A. nur verloren, wenn sie häufiger eintrudeln als die bearbeitet 
werden können.

Autor: Thomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hi,
verstehe ich nicht, was du meinst.

Autor: Andreas K. (a-k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du könntest mal den Typ und den Code verraten.

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Andreas Kaiser wrote:
> Möglicherweise ja, aber den Universaltrick für alle Microcontroller, die
> auf dem Markt verfügbar sind, den gibt es nicht.

Es gibt schon nen Universaltrick:

Float, delay, printf, UART/LCD-Ausgaben in Interrupts sind ganz ganz 
böse.

Das erschlägt etwa 90% aller Interruptprobleme.


Peter

Autor: Andreas K. (a-k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Peter Dannegger wrote:

> Es gibt schon nen Universaltrick:

Ja, hatte ich ja auch schon angedeutet. Drum auch die Frage nach dem 
Code.

Aber ein bischen gehen mir Leute auf die Nerven, deren präziseste 
Information "CAN-Gerät" lautet. Führt meist zu etwas verschlüsselter 
Antwort meinerseits.

Autor: Matthias Lipinsky (lippy)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Das erschlägt etwa 90% aller Interruptprobleme.


Und der Rest geht in der 10%-Ingenieurstoleranz unter ;-)

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.