SPI-Problem beim senden Slave->master

Gast #793172
hallo leute,

ich experimentiere gerade mit spi auf einem ATMega16.
ich habe aus der codesammlung ein beispiel genommen um von einem master 
zu einem slave senden zu können.
jetzt versuche ich gerade vom slave zum master zu senden, aber ich komm 
nicht weiter, der slave sendet komische bytes die nicht mit dem zu tun 
haben das ich eigentlich senden will. im anhang hab ich das beispiel das 
ich grad verwende.
zu debug zwecken sende ich die byte die der master vom slave kriegt dann 
über den uart zum pc.
findet irgendwer einen fehler im code weswegen das nicht funzt?

danke im voraus

JR1984
Angehängte Dateien:
Gast #793232
1
void master_transmit (unsigned char data) {
2
   PORTB &= ~_BV(PB0);   //SS am Slave Low --> Beginn der bertragung
3
  SPDR = data;                //Schreiben der Daten
4
  while (!(SPSR & (1<<SPIF)));
5
  //PORTA = SPDR;
6
  //PORTB |= _BV(PB0);              //SS High --> Ende der �bertragung
7
}

warum kommentierst du das setzen des SS?
nach der warteschleife musst du das SPDR register lesen. da sind die 
empfangenen daten drin.
Gast #793243
die kommentare waren schon im bsp vorher drin.

es müsste doch egal sein ob ich nach der warteschleife die daten auslese 
oder in der SIGNAL (SIG_SPI) routine, habs aber jetzt so ausprobiert 
geht such nicht. ich will eigentlich 0x63(sollte 'c' sein) empfangen 
aber ich krieg 0x20 oder 0x21, und das folgt keinem schema.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 18 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.