ATTiny25/45/85: "Device Signature" Lesekommandos

OP #6531224
Lesenswert?
• ▲
▼
Hallo,

Ich habe hier Arduino-Code zum Auslesen der Signatur-Bytes von AVRs.
Es werden die letzten 4 Bytes der Signatur (hier vom Tiny85) korrekt 
ausgelesen, aber ich habe Verständnisprobleme bei den verwendeten 
SPI-Kommandos.
Lt. der Adresstabelle aus dem Datenblatt müssten mit den verwendeten 
Kommandos andere Informationen ausgelesen werden.
1
  uint16_t target_type = 0;
2
  Serial.print("\nReading signature: ");
3
  
4
  SPI.beginTransaction(fuses_spisettings); 
5
  
6
  target_type = spi_transaction(0x30, 0x00, 0x01, 0x00);
7
  target_type <<= 8;
8
  target_type |= spi_transaction(0x30, 0x00, 0x02, 0x00);
9
  SPI.endTransaction();
10
  
11
  Serial.println(target_type, HEX);

Anstatt zuerst der Adresse 0x01 müsste es doch 0x00 bzw. 0x04 sein.
Blöderweise ist auch die Tabelle 20-7 im Datenblatt fehlerhaft.

Danke für eure Hilfe :)
OP #6531989
Lesenswert?
• ▲
▼
S. Landolt schrieb:
> Vielleicht hilft die Zeile 'Read Signature Byte' im Anhang zum
> Verständnis.

Das ist ja verstanden, was passiert, nur passen die Kommandos
1
target_type = spi_transaction(0x30, 0x00, 0x01, 0x00);
2
  
3
target_type |= spi_transaction(0x30, 0x00, 0x02, 0x00);

nicht zu der Tabelle 20-6 (siehe Screenshot im ersten Post).
Oder sendet man als Kommando tatsächlich den Byteindex, den man auslesen 
will, anstatt der Adresse?

Übrigens ein weiterer Tippfehler auf angehängtem Bild 🙄

Und lt. Microchip ist die Byteindizierung in der Tabelle von links nach 
rechts aufsteigend.
Angehängte Dateien:
Gast #6532014
Lesenswert?
• ▲
▼
> passen die Kommandos ... nicht zu der Tabelle 20-6

?
Dort steht 'Signature byte 0,1,2', und genau so wird im SPI-Befehl $30 
adressiert.
  Dass die 3 Bytes auf 3 Worte verteilt sind, steht (wortwörtlich) auf 
einem anderen Blatt.

Antwort schreiben

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.

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.