ATMega328P SPI 16 Bit senden

OP #5831749
Hallo zusammen,

ich suche für einen ATMega328P einen Code um über Hardware SPI oder Soft 
SPI 16 Bit Daten an den Motortreiber A4963 zu senden. Dieser erwartet 
nämlich 16 Bit Daten in einem Wort. Damit lassen sich die Register im 
Treiber beschreiben.

Innerhalb von 16 Takten müssen alle Daten übertragen sein. Der Treiber 
hört ab dem 17 Takt nicht mehr zu. Somit dürfen nach 8 Bit Übertragenen 
Daten kein Flag oder ähnliches verschickt werden. Da mir sonst nach 16 
Bit ein Bit von meinem Wort fehlen.

Hat hier jemand zufällig den passenden Code dazu? Meine Versuche bisher 
sind leider erfolglos. Hatte es mit einem gebastelten Code per SOFT SPI 
versucht, leider ohne Erfolg. Der Treiber hat einfach nicht zugehört.

Danke schonmal im voraus.
Gast
> mit einem gebastelten Code per SOFT SPI
Daran wird wohl das Scheitern liegen. Mit einem ATmega328 2 Bytes 
nacheinander per SPI herausschicken, ist Standard - mich deucht, das ist 
leucht.
Gast
> nach einem Byte ... die CS Leitung wieder auf Low gezogen?

Wieso low, liegt vielleicht hier das Problem mit dem 'gebastelten Code'? 
CS ist normalerweise 'activ low'.
Gast
Bolot J. schrieb:
> ATMega328P einen Code um über Hardware SPI oder Soft
> SPI 16 Bit Daten an den Motortreiber A4963 zu senden.

Goggel: A4963 Arduino

Deren Libraries werden sich auch ohne Arduino-Unterbau verwenden lassen, 
schließlich ist ja C++.
Gast
Aus dem Datenblatt:
"lWhen 16 data bits have been clocked into the shift register, STRn must 
be taken high to latch the data into the selected register."
Du brauchst also zwingend noch eine Slave Select Leitung, obwohl es nur 
einen Empfänger gibt.
Gast
Naja, im Datenblatt steht "SPI compatible interface", da könnte man als 
Laie natürlich meinen, es sollte auch mit SPI funktionieren und schaut 
dann nicht in die Details der Implementierung. Eine extra-Leitung zum 
Latchen ist nicht unbedingt "SPI compatible".
OP
Vielen Dank für die zahlreichen Beiträge. Eine Slave Select Leitung habe 
ich. Ich versuche morgen eure Ideen und Ratschläge umzusetzen.
Dachte ich kann die implantierte SPI Funktion nicht nutzen aber dem ist 
nicht so :)

Antwort schreiben

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