Guten Abend AVR Spezies, bastele gerade mit einem ATTiny12 herum (mein Programm funktioniert soweit schön), habe jedoch das Problem daß ich aus einer Tabelle die ich an Programmstelle $100 abgelegt habe nicht auslesen kann. Im Ponyprog steht die Tabelle an Stelle $200, ich denke aber das kommt von der doppelten Breite des AVR Programmspeichers, Ponyprog ist da wohl 8 bitweise organisiert. Hier mein Codeausschnitt: Hier den Zeiger Z einstellen auf $100 und folgende, mit Zh=1 und Zl=0 bin ich bei $100, stimmt das?? ldi Zh, $01 mov Zl, var1 ;nun Werte auslesen ab $100 in Abhängigkeit von var1 lpm var2, Z .org $100 .DB 139,138,138,...und so weiter, insgesamt 250 Werte Ich stelle den Zeiger mit Zh auf $100 und folgende ein und möchte nun mit var1 an die richtige Stelle in der Tabelle gehen. Geht aber so nicht, weiß nicht was ich auslese. Ist ein Timeout den ich brauche, wenn ich testweise den Timeoutwert fest zuweise (ldi var2, $50 z.B.) läuft das Programm. Bin für jede Idee dankbar, das ist die letzte einer längeren Folge von Hürden. Ich bin sicher daß einer da draußen das weiß. Besten Dank schon mal vorab und schönen Sonntag... Gruß Thomas
Kleiner Denkfehler drin der Programmspeicher ist 16 Bit breit daher muß für den Tabellenstart: .org $100 .DB 139,138,138,...und so weiter, insgesamt 250 Werte das Registerpaar ZH:ZL mit $200 geladen werden
Hallo, verstehe ich zwar nicht, probiere es aber trotzdem aus. Erst mal DANKE, melde mich wenn ich weiter gekommen bin. Gruß Thomas
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.