AVR ISP Protokoll

Gast #782181
Also ich wollte mir einen ISP bauen (wohl mit m8) der dieses nicht wie 
in der atmel appnote über Soft-Spi sondern über Hardware-SPI 
macht.Eigentlich müsste das doch mit dem SPI in der 
Standartkonfiguration gehen nur irgendwie klappts beimir nicht so ganz 
ich kann zwar daten senden bekomme aber nichts zurück bzw im SPDR ist 
lediglich 255 nachdem ich versucht habe die signature bytes(tiny2313) 
auszulesen mit (0xAC,0x53,0x00,0x00; 0x30,0x00,0x00) aber wenn ich 
danach kurz warte und dann SPDR auslese steht dort lediglich FF hat 
jemand ne Ahnung was ich falsch mache.
Gast
> jemand ne Ahnung was ich falsch mache.

Klar:

Du schreibst Standard mit "t".
Du fabrizierst ellenlange Monstersätze ohne vernünftige Interpunktion.
Gast
Ok das mit der Interpunktion ist sone Sache(tut aber nichts zum Thema) 
aber irgendwie war mir halt grad nicht nach Punkten. Aber hat denn vlt. 
jemand ne Ahnung ob meine Commands stimmen oder ob ich da was übersehen 
habe?
Gast
Wer sich keine Mühe gibt einen Text vernünftig zu schreiben, sollte
besser kein Programmierer werden.

Aber ich geb dir einen Tip:
Sende noch eine Null mehr und lies dann SPDR.
Gast
Danke für den Tip doch möchte ich anmerken das man als Programierer 
keine ganzen zusammenhängenden Sätze schreiben muss sondern lediglich 
Befehle bei denen es entsprechend der Sprache mehr oder weniger 
Interpunktion gibt
Gast
Ich habe ganz vergessen mal meinen Code zu posten:
ldi temp,0xAC
rcall spiout
ldi temp,0x53
rcall spiout
ldi temp,0x00
rcall spiout
ldi temp,0x00
rcall spiout
ldi temp,0x30
rcall spiout
ldi temp,0x00
rcall spiout
ldi temp,0x00
rcall spiout
ldi temp,0x00
rcall spiout
rcall spiin
rcall serout
spiout:
out spdr,temp
ret
SPIin:
sbis SPSR,SPIF
rjmp spiin
in r16,SPDR
ret
serout:
        sbis UCSRA,UDRE
        rjmp serout
        out UDR, r16
ret
Gast
Das hier musst du bei jedem rcall spiout machen:

rcall spiout
rcall spiin

Sonst schreibst du ins SPDR bevor die alten Daten
gesendet werden konnten.
Gast
Ich habe jetzt in meine spiout routine ein sbis SPSR,SPIF eingefügt wies 
auch im BEispiel im Datenblatt steht aber es funktioniert irgendwie 
immernoch nicht..
Hallo,
ich bein gerade auf der Suche nach dem Datenblatt, welches oben 
beschrieben wurde.
Ich möchte eine AVR über SPI programmieren. Wo finde ich eine Übersicht 
über die Kommandos, welche ich an den AVR schicken muss.

Drew

Ps.: ich hoffe, dass mir jemand weiterhelfen kann, auch wenn hier schon 
lang niemand mehr geantwortet hat.

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.