SPI Attiny44

OP #5251749
Lesenswert?

Guten Morgen,
Wir haben ein sehr kniffliges Problem.
Wir haben einen ATtiny44A, der mit einem ATMega644PA über SPI 
kommuniziert. Der ATMega sendet dem Tiny Befehle, die 2Byte lang sind 
und der Tiny antwortet darauf.
Das Problem ist, unser SPI Programm für den ATtiny44A funktioniert nicht 
ganz. Derzeit haben wir ein Array, das die Daten des Attiny beinhaltet 
und bei dem WRITE Befehl, schreiben wir das nächste Byte auf den 
entsprechenden Index im Array. Beim READ Befehl lesen wir das Byte 
wieder aus dem Array und ins USIDR. Wir haben mit einem Logik Analyser 
die Signale gemessen, der ATMega sendet die richtigen sequenzen, aber 
der Tiny antwortet beim READ nicht mit den richtigen Daten.
Bitte um Hilfe!

Beide Programme sind im Anhang.
Angehängte Dateien:
Gast #5252140
Lesenswert?

Also, ich weiß nicht ...

- die "echte Version" ist nun plötzlich ohne "Author", aber immer noch 
fünf Tage alt
- ein Softwareproblem löst man, indem man es auf den Kern reduziert; 
hier ist vieles hinzugekommen, was nichts damit zu tun hat.
- beim erneuten Überfliegen fällt mir auf, dass die reg_address das 
CMD_BIT beinhaltet - mag ja stimmen, merkwürdig ist es trotzdem

Aber es wird sich sicher noch jemand finden, der sich näher mit der 
Sache befasst.
Gast #5252300
Lesenswert?

> Das CMD_BIT ist noch nicht mal richtig implementiert...
Eben; in der "sehr alten" Version, die übrigens gerade mal zwei Tage 
älter ist, war es noch nicht vorhanden - ich löse ein Problem doch nicht 
dadurch, dass ich neue Ansätze draufpacke; gleiches gilt für WD, ADC, 
EEPROM und den Rattenschwanz an Definitionen.

> Ich bin nur verwirrt, da der Attiny ja etwas zurückschickt ...
Das ist eine immanente Eigenschaft von SPI: der Master liest beim Takten 
immer etwas ein, auch wenn es Rauschen sein sollte.

Der Weg muss also umgekehrt sein, "zurück zu den Anfängen": eine 
einfache Kommunikation zwischen Master und Slave, damit wäre hier auch 
eher Hilfe zu erwarten, falls diese dann überhaupt noch nötig ist. 
Darauf aufbauend eine Funktionalität nach der anderen in Betrieb nehmen.


Und weil jetzt Freitagnachmittag ist, noch ein Zitat von Reinhard Mey, 
nehmen Sie es mir bitte nicht übel, es ist wirklich nicht böse gemeint, 
passt aber so gut:
"Ich übe den Fortschritt und das nicht faul,
nehme zwei Schritt auf einmal und fall aufs Maul."

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren