Forum: Mikrocontroller und Digitale Elektronik Geht SBIC und SBIS nich im TIFR? (Atmega8)


von Brian Lund (Gast)


Lesenswert?

Ich arbeite gerade an ein projekt wo ich ein delay brauche wenn ich auch
was anderes mache (auf ein byte im USART warte), und da habe ich mir
gedacht ich kann timer1 oder 2 verwenden...

Aber ich habe versucht ein
SBIC   TIFR,OCF1A

zu machen. Das geht offentsichtlich nicht, den der assembler schreibt:
...(141): error: Operand 1 out of range: 0x38

Als ich hier gesucht habe und herausgefunden das das SCHREIBEN zur TIFR
nicht mit SBI und CBI geht habe ich mir gedacht das vieleicht das reden
auch nicht geht(?)!

Zur not habe ich jetzt:
IN     R19,TIFR
SBRC   R19,OCF1A

Und das scheint zu funktionieren, das andere währe aber kürzer :(
Geht SBIC und SBIS nicht ins TIFR?


Brian Lund
Dänemark

von Thomas J. (Gast)


Lesenswert?

Das geht leider nicht, SBIC und SBIS gehen nur bis Portadresse 0x1F.

Gruss Thomas

von Brian Lund (Gast)


Lesenswert?

Okay danke, da muss ich ja eben damit leben!


Brian Lund
Dänemark

von Bernhard S. (bernhard)


Lesenswert?

Ich hatte ein ähnliches Problem,

es sollte in einer TIMER-Interrupt-Routine festgestellt werden,

ob schon wieder ein Interrupt von diesem Timer ausglöst wurde.

So könnte man es lösen:

 in   temp,TIFR
 SBRS temp,TOV0 ; SPRINGE, wenn BIT gesetzt (Zeitüberschreitung
 rjmp ....
 ...

Bernhard

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
Noch kein Account? Hier anmelden.