ich bin gerade noch am anfang und versuche assamler für den mc zu lernen jetzt habe ich folgendes geschriebenmehr zum ausprobieren als für die praxis.jetzt bekomme ich immer die fehlermeldung error: Undefined symbol: sph (29) error: Invalid register (41) ich weiss nicht was an sph falsch sein soll. ausserdem wüsste ich mal gerne wie man den timer richtig benutzt.zum beispiel 80s zählen und dann den interrupt licht_aus ausführen danke seeadler78
Mit dem Aps File kann aber keiner was anfangen. :-)
ist das besser
Gast
#340559
Der Tiny 2313 hat kein sph-Register. Der Stack Pointer ist nur ein Byte lang.
ah deswegen,muss ich das nur so ldi temp1,low(ramend) out sp, temp1 eingeben
Gast
#340561
Ach ja, und wenn Du 'temp' definierst und dann push tmp schreibst, gibts natürlich auch nen Fehler, weil der Assembler 'tmp' natürlich nicht kennt.
ich habe doch tmp definiert den fehler macht er bei out TCCR0,5
Gast
#340563
Steht alles im Datenblatt (Seite 44, einfach abschreiben...). Muss natürlich spl heißen
Gast
#340564
Jau, klar. Mit out kannste natürlich keinen immediate-Wert ausgeben. Musst die '5' erst in ein Register laden und dann out TCCR0, rXX.
jetzt habe ich noch den fehler mit out TCCR0,5 was ist da falsch dran
Gast
#340566
Immer noch??? Oder nur nicht gelesen vorm Schreiben? Schau Dir in solchen Fällen am besten immer als erstes im Instruction Set Manual an, was der Befehl, der zu einem Fehler führt, eigentlich macht.
Gast
#340567
Also z.B.: ldi temp, 5 out TCCR0, temp
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.