Hallo, ich wollte mir mal einen MJoy aufbauen http://www.mindaugas.com/projects/MJoy/Article.php Da ich einige Kleinigkeiten dran ändern will - alle Potis weg, ich brauch nur 8 Richtungstaster (2 Steuerknüppel) und 2 Feuertaster - wollte ich den asm-Source in mein AVR Studio laden und eine Hex-Datei erzeugen. Allerdings wimmelt es da nur so von Fehlern und Warnungen. Z.B. Register r28 already defined by the .DEF directive (und noch viele andere Register) error: Operand(s) out of range in 'ldi r21,0x8005' und viele mehr. Leider kenne ich mich mit AVR Studio / Assembler überhaupt nicht aus, da ich alles mit WinAVR mache. Ich kenne mich aber durchaus mit den Controllern ansich recht gut aus. Kann mir da vielleicht jemand "Starthilfe" geben ? Gruß Stefan
Die Warnings wie "Register r28 already defined by the .DEF directive" können ignoriert werden. Der error tritt AFAIK erst mit dem Assembler Version 2 auf (kann man unter den Optionen einstellen). Du kannst auch in der entsprechenden Zeile den rechten Operanden auf 8 bit kürzen, also "ldi r21,(0x8005 & 0xFF)".
Hallo, in den Optionen konnte ich eine derartige Einstellung leider nicht finden. Immerhin hab ich bereits einige Redefinition-Errors rausbekommen, z.B. UCR. Scheint wohl inzwischen in dieser inc Datei schon drin zu sein. Aber nun hab ich noch: Joystick.asm(468): error: call k: Unsupported instruction on ATmega8 Und das ganze zig mal. Sieht so aus als ob der Assembler das Wörtchen "call" nicht (mehr) versteht... Was kann ich tun ? Stefan
Irgendwas ist bei Dir anders. Ich hab eben noch mal zur Kontrolle das Original "mjoy_v1.1.zip" heruntergeladen, die drei Redefinitionen auskommentiert, die Zeile 1426, ldi bitcount,CRC16poly ersetzt durch ldi bitcount,CRC16poly&0xFF und kompiliert. Hat funktioniert. AVRStudio Version 4.12, build 460.
ok, inzwischen hab ich auch die Einstellung gefunden für assembler 1. Ich kann den Code nun kompilieren (nennt man das so ?). Ich hab aber noch warnings, u.a. Joystick.asm(1332) : warning : 'CALL' not supported on this device Kann man darüber hinwegsehen ? Klingt für mein Gefühl nicht gut... Stefan P.S. habe übrigens auch das AVRStudio 4.12 / 460
z.B. hier InitJoystickAxis: call BackupUpperRegisters ldi r16, 0xFF sts ADCChanStarted,r16 ; reset last ADC channel number ldi r16, XAxisChannel ; call ReadADC10 ldi ZH, high(XAxisRAM) ldi ZL, low(XAxisRAM) ldi YH, high(XAxisEE) ldi YL, low(XAxisEE) call Init10SymAxis sind schon mal einige drin... ich versuch das mal mit dem rcall... Stefan
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.