Forum: Compiler & IDEs Inline Assembler welche Header Dateien


von Timur Y. (smokingslim)


Angehängte Dateien:

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

von nicht "Gast" (Gast)


Lesenswert?

Hallo,

meckert noch ist nicht grad eine ideale Fehlerbeschreibung. Kopiere doch 
mal die Fehlermeldung hier ins Forum, sonst ist da ja nur rumgerate.

Grüße,

von Timur Y. (smokingslim)


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.

von Johann L. (gjlayde) Benutzerseite


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...

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.