Inline Assembler welche Header Dateien

#2894284
Lesenswert?

Hi Leute,
Ich bekomme diesen Assebler Schnippsel nicht zum laufen.

Ich benutze AVR Studio 6.
Und will die Device Signiture Auslesen so wie auf Seite 156 im Tiny 24 
Handbuch beschrieben.

Ich habe nach viel suchen beispiele Gefunden wie ich denn Code Zeile für 
Zeile einfüge. Allerdings bekomme ich dauernd fehlermeldungen das die 
defines wie ZH z.B. nicht definierst sind.

Ich habe
#include <avr/interrupt.h>
#include <avr/io.h>
#include <avr/common.h>
#include <avr/sfr_defs.h>
#include <stdint.h>

Eingebunden meckert aber immer noch.

Hat jemand von euch ein Beispiel wie aus dem Code eine funktion mache 
die mir den Wert dann zurück gibt.

Sowas wie

DeviceSigniture = Get_Device_Signiture();


Danke im Vorraus.
Shalom
Angehängte Dateien:
#2894440
Lesenswert?

Also mit hilfe des Atmel Supports habe ich nun folgenden Code.
Auch bei Atmel wusste man nicht warum das nicht funktioniert.

Wahrscheinlich werden wegen den "" die defines nicht erkannt.

Ob das jetzt funktioniert werde ich nachreichen.

 _asm__ __volatile_  ( "ldi r30, 0");
 _asm__ __volatile_  ( "ldi r31, 1");
 _asm__ __volatile_  ( "ldi r16,0x20");
 _asm__ __volatile_  ( "out 0x37, r16");
 _asm__ __volatile_  ( "lpm r17, Z");
 _asm__ __volatile_  ( "ret");


Ach ja die Fehlermeldung sagt einfach das die Operation out einen 
Constant Value braucht. Weil SPMCR nicht definiert ist.
Persönliche Seite #2894901
Lesenswert?

Timur Yigit schrieb:

> Auch bei Atmel wusste man nicht warum das nicht funktioniert.

Weil keines der Symbole die du verwendest irgendwo definiert wurde.
Ausser Z, aber das ist kein Symbol oder Identifier sondern ein 
implizites Register in LPM.

> Wahrscheinlich werden wegen den "" die defines nicht erkannt.

Nein.

> Ob das jetzt funktioniert werde ich nachreichen.

Quelltext als PNG oder Video ist übrigens wenig praktikabel...

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