SPI Problem: Warte ich in der Senderoutine auf InterruptFlag hängt sich Atmega8 auf

OP #2938558
Lesenswert?
• ▲
▼
Guten Abend,
hier mal wieder ein SPI Problem:

Nachdem ich nun den zweiten Tag versuche einen DigiPoti (MCP41010) via 
SPI anzusprechen möchte ich Euch um Rat bitten.

Wenn ich in der Senderoutine das InterruptFlag abfrage bleibt der 
Controller hängen als würde das Flag nie gesetzt werden. Kommentiere ich 
die beiden Zeilen aus läuft der Controller, SPI geht natürlich nicht.

Im Anhang der betreffende Code, sollte das nicht reichen kann ich auch 
gern den Rest posten der allerdings umfangreich ist.

Dank für Eure Antworten.
Angehängte Dateien:
Persönliche Seite #2938572
Lesenswert?
• ▲
▼
Jens Neumann schrieb:
> die ISR ist nicht mit gepostet, tschuldigung...
>
> Sie ist allerdings auch leer da ich sie ja nur zum selbständigen löschen
> des Flag`s brauche.

Was erwartest du?

Interruptbedingung tritt ein --> (leerer) Interrupthandler wird 
aufgerufen, bevor dein Unterprogramm dazu kommt das Flag abzufragen --> 
durch den Aufruf des (leeren) Interrupthandlers wird das Flag natürlich 
gelöscht und deine while Schleife schleift sich nen Wolf!
Gast #2938651
Lesenswert?
• ▲
▼
Ein Blick ins Datenblatt ergibt:

SPIF is cleared by hardware when executing the corresponding interrupt 
Handling Vector. Alternatively, the SPIF bit is cleared by first reading 
the SPI Status Register with SPIF set, then accessing the SPI Data 
Register (SPDR).

Auf Deutsch: Du musst SPDR lesen um SPIF zurückzusetzen.

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.