Forum: Mikrocontroller und Digitale Elektronik atmega device ID


von Christian V. (caegger)


Lesenswert?

Hallo,

ich möchte gerne die Device ID beim Atmega 168 im Programmverlauf 
auslesen. Gemäß Datenblatt ist das allerdings nur im Parallel bzw. 
Seriell Mode möglich.
Kennt jemand eine Möglichkeit dies im C oder Assembler Programm 
auszuführen?
uint8_t *avr_id = (*unit8_t) 0x00 ... war leider nicht erfolgreich.

Gruß

Christian

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Christian Vogt wrote:

> ich möchte gerne die Device ID beim Atmega 168 im Programmverlauf
> auslesen.

Wenn du schon weißt, dass das ein ATmega168 ist, warum schreibst du
nicht dann einfach:
1
uint8_t device_id[] = { 0x1e, 0x94, 0x06 };

Welchen Mehrwert erwartest du durch das Auslesen zur Laufzeit?

> Gemäß Datenblatt ist das allerdings nur im Parallel bzw.
> Seriell Mode möglich.

Damit hast du doch eine klare Antwort auf deine Frage: es geht nicht.
Andere AVRs können ihre signature lesen, aber dafür hat deren
SPMCSR ein eigenes Bit namens SIGRD erhalten.  Nützlicher daran ist,
dass man damit auch das OSCCAL-Byte lesen kann, da es parallel zu
den signature bytes gespeichert wird.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

argl!

Doppelposting!

Bitte lass das bleiben, poste einmal und warte die Diskussion ab.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.