Atmega 8 SPI Frage

Gast #1533603
Hallo

Ich möchte gerne mehrere Atmega 8 kaskadieren und mit dem ersten Atemega 
8 die Daten senden.

Die restlichen mega 8 sollten dann jeweils eine rgb led ansteuern.

Also wenn ich drei mal 8 bit schicke dann sind das die helligkeiten für 
den mega 8 der dann die pwm per hardware ausgibt.

Nun meine Frage:

wenn ich die ersten 8 bit sende, kommen die Daten dann beim Mosi gleich 
wieder raus? Weil wenn die gleich wieder rauskommen, dann kann ich sie 
ja im atmega nicht hinterlegen.

Also es sollte so wie das ShiftBrite wie hier funktionieren: 
http://www.nodna.com/product_info.php?products_id=1176&XTCsid=hquuordh72gavgd468u77m6e57

Mein Problem ist nur, daß das ShiftBrite eine PWM auflösung von 10bit 
hat.  Mir ist das leider zuviel und deshalb möchte ich es gerne selber 
realisieren.

Ist das mit mehreren M8 möglich oder funktioniert das so nicht?

Gruß Stefan
Gast #1534284
Also mein Problem ist, das ich mit SPI 3x8 bit in einen M8 reinschiebe. 
ist das prinzipiell möglich, ohne das der M8 die Daten gleich wieder 
rausschiebt.

Geht das?
Gast #1534314
Hi

>wenn ich die ersten 8 bit sende, kommen die Daten dann beim Mosi gleich
>wieder raus? Weil wenn die gleich wieder rauskommen, dann kann ich sie
>ja im atmega nicht hinterlegen.

Das Shiftregister des SPI hat einen Read-Buffer. Kannst du dann im 
'Serial Transfer Complete-Interrupt' auslesen.

MfG Spess
#1534316
Hallo,

Stefan schrieb:
> Also mein Problem ist, das ich mit SPI 3x8 bit in einen M8 reinschiebe.
> ist das prinzipiell möglich, ohne das der M8 die Daten gleich wieder
> rausschiebt.
>
> Geht das?

Warum nicht?
SPI liest 8 Bit in das SPI-Empfangsregister ein.
Parallel dazu wird der Inhalt des Senderegisters rausgeschoben.
Das sind im AVR 2 getrennte Register, die unter der gleichen Adresse 
luegen.
Mit out SDR,r16 wird das Senderegister beschrieben, mit in r16,SDR das 
Empfangsregister gelesen.

Um Deine 3 Byte muß Du Dich ohnehin alleine kümmern.

Gruß aus Berlin
Michael

Antwort schreiben

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