SPI-Kommunikation verkürzen

OP #933182
Moin,

ich habe hier einen 10bit AD-Wandler, den ich über SPI auslesen möchte. 
In den ersten 3 Takten der CLK wird die Wandlung vorgenommen, darauf 
folgt der 10-bit Wert, und anschließend noch 2 Nullen. Da ich die ja 
aber gar nicht brauche, aber den Wert gemessenen Wert noch nach rechts 
schieben muss, würde ich die SPI Kommunikation gerne früher beenden, um 
den Wert dann zu shiften. Kennt Ihr da eine Lösung? Ich benutze einen 
ATmega128, und programmiere in AVR Studio mit avrgcc und für die 
Kommuniktion in Assembler.

MfG, und vielen Dank, Ozzy
Gast
Ohne den ADC jetzt genau zu kennen, aber wenn der am Ende noch zwei 
Nullen ausgeben will, dann wird er das auch tun! D.h. selbst wenn Du die 
Übertragung nach den 10 bit abbrechen würdest, würde er beim nächsten 
mal eben die Nullen am Anfang der Datenübertragung nachliefern... mit 
vermutlich chaotischer Wirkung auf Dein gewünschtes Programmverhalten!
OP
Naja, die Übetragung/Empfang laufen ja in einer Schleife:
1
Wait_Transmit:
2
sbis SPSR,SPIF
3
rjmp Wait_Transmit
Theoretisch sollte diese ja 8x durchlaufen werden, aber kann man sie 
deshalb einfach ausrollen? Und wie verhält es sich dann mit der SPI-clk, 
die man eingestellt 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.