www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik SPI-Kommunikation verkürzen


Autor: Oz zy (ozzy)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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!

Autor: Oz zy (ozzy)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nö, der Slave wird ja durch das zurücknehmen der Slave-Select-Leitung 
wieder "resettet". Sonst würde ja immer Müll rauskommen, wenn sich ein 
Slave mal um einen Takt vertut...

Autor: Mensch_Z (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
wozu die Frage?
Teste !
...und...?

Autor: Oz zy (ozzy)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Naja, die Übetragung/Empfang laufen ja in einer Schleife:
Wait_Transmit:
sbis SPSR,SPIF
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

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.