SCK-Pin des ATMega16 bleibt stumm

OP Persönliche Seite #870052
Lesenswert?

Nach dem Reset geht MOSI auf high und SCK rührt sich nicht, bleibt also 
auf low. Auch im Debugger in AVR Studio blinkt nur PINB7, nicht aber 
PORTB7. Das DDR ist aber richtig gesetzt (denke ich zumindest). Im 
Datenblatt habe ich auch nichts gefunden, was mir helfen könnte.

Vielleicht etwas mit den Fuse-Bits?
Angehängte Dateien:
#870094
Lesenswert?

Hallo,

//Konfiguriere SPI
LDI  TEMP, (1<<SPE)|(1<<MSTR)|(1<<SPR0)|(1<<SPR1)
OUT  SPCR, TEMP
SBI  SPSR, SPIF

SPIF ist ein ReadOnly-Bit.
Gelöscht wird es beim ersten Lesezugriff mit gesetzem SPIF (Mega16 
Datenblatt Seite 140).

Ändere das mal in
IN     TEMP,SPSR

sonst fällt mir erstmal nichts auf.

Gruß aus Berlin
Michael
OP Persönliche Seite #870099
Lesenswert?

Ich muss SPIF zu Beginn des Programms setzen, da im späteren Verlauf das 
Senden erst möglich ist, wenn SPIF gesetzt und somit die vorhergehende 
Übertragung komplett ist.

Aber ich werde schauen, ob 's daran liegt, danke schonmal.

ps: Kann es sein, dass der Debugger das SPIF-Bit setzt, obwohl es read 
only ist? Missachtet er solche Details? Das würde das Problem nämlich 
erklären.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren