Forum: Mikrocontroller und Digitale Elektronik FRAGE: 16Bit-Zahl in 2 8Bit-Register mit AT90S4433


von Jörg Straile (Gast)


Lesenswert?

Hallo,

Ich arbeite mit dem AT90S4433 und suche nach einer Möglichkeit eine 
16Bit Zahl (z.B. 742dezimal) in 2 Register abzulegen.

Sieht da jemand mit dem MC überhaupt eine Chance?

Hab das ganze schon mit :

   U_mess1: .DW 742

   LDI ADC1_L,low(U_mess1)    ;
   LDI ADC1_H,high(U_mess1)  ;

probiert. Funktioniert aber nicht. Kann mir jemand helfen??

Gruß Jörg

von mikki merten (Gast)


Lesenswert?

Falscher Befehl nicht LDI sondern LDS

.dseg

U_mess1:   .dw 742   ;Seit wann hat der 4433 1448 Byte SRAM
                     ;Wert ist zu gross

.CSEG

   LDS ADC1_L,low(U_mess1)
   LDS ADC1_H,high(U_mess1)

von Andreas S. (andreas) (Admin) Benutzerseite


Lesenswert?

Wie wär's mit:

.equ U_mess1 = 742

ldi bla1, LOW(U_mess1)
ldi bla2, LOW(U_mess2)

Wenn du die Konstante mit .dw oder .db direkt im Flash anlegst, dann 
musst du zum Lesen den Befehl lpm verwenden.


@mikki:

Wie kommst du auf ".dseg"?

von mikki merten (Gast)


Lesenswert?

Nachtrag:

Wenn du mit .dw 742 eine 16 Bit Konstante im Flash meinst, funktioniert 
es so:

   push   ZL
   push   ZH
   push   R0
   ldi    ZL,low(U_mess1)
   ldi    ZH,high(U_mess1)
   lpm
   mov    ADC1_L,R0
   adiw   ZL,1
   lpm
   mov    ADC1_H,R0
   pop    R0
   pop    ZH
   pop    ZL

Die PUSH/POP Befehle sind evtl. nicht unbedingt erforderlich.

von mikki merten (Gast)


Lesenswert?

@andreas
Hatte .dw und .byte verwechselt. Ist schon etwas ungewöhnlich nur ein 
Wort im FLASH als Tabelle abzulegen.

von Peter D. (peda)


Lesenswert?

So gehts:

.equ U_mess1 = 742

LDI ADC1_L,low(U_mess1)
LDI ADC1_H,high(U_mess1)


Peter

von Jörg Straile (Gast)


Lesenswert?

Hallo zusammen,

Vielen Dank für die vielen Antworten. Ich benutze dieses Forum zum 
ersten Mal und bin echt überrascht, dass sich so viele melden.

Ich hab mich für den Vorschlag von Peter entschieden. Ist einfach und 
funktioniert (Hatte nicht gewusst, wie sich .EQU mit großen Zahlen 
verhält)

Gruß JOGI

von Schmittchen (Gast)


Lesenswert?

> Ich benutze dieses Forum zum ersten Mal und bin echt überrascht, dass sich so 
viele melden.
Tja, das hängt damit zusammen, daß du dich artikulieren kannst.
Die Qualität der Antworten hängt stark mit der Formulierung der Frage(n) 
zusammen. Ich hab mir abgewöhnt Postings zu Ende zu lesen, die ich nicht 
von Anfang an verstehe.

Schmittchen.

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.