SPI bei 3,3V funktioniert nicht

OP #1331428
Hallo zusammen

Ich versuche die SPI Schnittstelle eines Atmega64 als Master in betrieb 
zu nehmen, aber ich scheitere schon daran, dass ich keine "transmission 
complete" bekomme (der Controller bleibt also in der while-Schleife in 
SPI_MasterTransmit hängen). Komischerweise funktioniert es, wenn ich den 
Controller mit 5V betreibe, nicht aber wenn ich ihn mit 3,3V betreibe.

Ich verwende den Code aus dem Datenblatt:
1
void SPI_MasterInit(void)
2
{
3
  /* Set MOSI and SCK output, all others input */
4
  DDRB = (1<<2)|(1<<1);
5
  /* Enable SPI, Master, set clock rate fck/16 */
6
  SPCR = (1<<SPE)|(1<<MSTR)|(1<<SPR0);
7
}
8
void SPI_MasterTransmit(char cData)
9
{
10
  /* Start transmission */
11
  SPDR = cData;
12
  /* Wait for transmission complete */
13
  while(!(SPSR & (1<<SPIF)));
14
}
und main sieht so aus:
1
int main( void )
2
{
3
  SPI_MasterInit();
4

5
  SPI_MasterTransmit('A');
6
}

Hat jemand eine Ahnung was ich falsch mache?
Ich habe es auch noch einmal mit einem Atmega128 probiert, habe aber 
genau das gleiche Problem.

Vielen Dank im Voraus.

Lolle
OP #1331443
Hallo Joachim

Vielen Dank für die schnelle Antwort. Deine Vermutung war richtig, jetzt 
geht's.

Ich dachte ich bräuchte mich um SS nicht kümmern, da der Controller 
Master ist und ich sowieso noch keinen Slave angeschlossen hatte. Da hab 
ich mich wohl getäuscht.

Grüße

Lolle

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 17 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

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.