-
Hi,
auf S. 7 im Datenblatt steht: "For I/O registers located in extended I/O map, "IN", "OUT", "SBIS", "SBIC", "CBI", and "SBI" instructions must be replaced with instructions that allow access to extended I/O. Typically "LDS" and "STS" combined with "SBRS", "SBRC", "SBR", and "CBR"."
Was genau unter "extended I/O" fällt, findest Du auf S.9.
Also: TIMSK0 kannst Du nur mit "STS", nicht mit "OUT" ansprechen.
Viele Grüße
Fred
-
wow, danke für die schnelle Hilfe!!!
jetzt funktioniert wenigstens einmal der teil, warum der Interrupt jetzt auf den falschen platz springt ist zwar noch nicht geklärt, aber wenigstens kann ich das programm mal compilieren.
Danke
-
Ok, bei der Interruptvektortabelle versagt anscheinend der AVR Studio Simulator, auf dem µC Funktioniert es nämlich :)
Die LEDs blinken jetzt ^^
-
Hallo Gerko,
der Simulator hat mit einigen AVRs Probleme; ich weiß nicht, ob das für den AT90USB162 zutrifft. Evtl. den "Simulator 2" benutzen. Die "known issues" sind in der Dokumentation leider sehr verstreut.
Wenn Du Code postest, mach es bitte den Lesern (und Dir!) einfach, indem Du symbolische Namen verwendest; z.B.
<pre>
ldi temp, 1<<TOIE0 ; anstelle von ldi temp, 0b00000001
sts TIMSK0, temp
</pre>
MfG
Fred
-
Ok, normalerweise schreibe ich den Code eh "schön" aber der Atmel hat mich zum verzweifeln gebracht, also hab ich alles mögliche veruscht (ich dachte vielleicht geht das mit 1<<... bei dem nicht)
Leider wird der AT90USB162 nicht vom Simulator 2 unterstützt, aber den Simulator kann man soweiso nur für kleine programme verwenden, also brauch ich den wahrscheinlich auch nicht mehr so oft.
mfg
Gerko