Hi ich habe folgendes Problem: ich verwende einen AT90S8515. Den benutze ich im Compare-modus. Dazu wollte ich das OC1A-bit toggeln, aber auch zusätzlich kontrollieren. wie mache ich das und wie kann ich mir im AVR-Simulator diesen Status ansehen??? Danke schon mal im Vorraus Gruß moad
Im AVR-Studio ist links der "Workspace". An unterer Kante dessen klickst Du auf "I/O" und unter dem Zweig "I/O AT90S8515" findest Du das dann unter "Timer_Counter_1" und dann "TIFR" (OCF1A). Mach Dir doch ein Interrupt-Prog on Compare Match A. Durch das Int.-Prog kannst Du ja dann ein Flag im SRAM setzen lassen welches Du im Main-Programm dann "gelegentlich" abfragen kannst und nach der Abfrage zurücksetzt. Bei 4MHz benötigt so ein IRQ-Prog ca. 5µS (0,0005%) inkl. sichern des Statusregisters und eines Arbeitsregister (z. B. r16): IRQonCMA: push r16 in r16,sreg push r16 ldi r16,1 sts CompareFlag,r16 pop r16 out sreg,r16 pop r16 reti .dseg: CompareFlag: .byte 1 Du mußt nur noch am Start vor dem Main-Prog den "IRQ on Compare Match A" in TIMSK (OCIE1A) aktivieren. Gruß Andi
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.