auf TIFR Register zugreifen geht nicht

Gast #809810
Hallo,

ich möchte gern ein Flag im TIFR Register abfragen Timer1 Match A
also Bit 4

Ich will das nicht mit einem IR machen sondern mit einer Schleife



loop:  sbis TIFR, 4
       rjmp loop


aber das AVR Studio gibt mir einen Fehler aus

Kann ich direkt auf das Register in der Form zugreifen?
Controller ist ein Maga 16
Gast
Hi René,

SBIS/C funktioniert nur für die unteren 32 I/O-Register.

Je nach AVR geht es so:

loop:
  in reg, TIFR
  sbrs reg, 4
  rjmp loop

 oder so (bei AVRs, bei denen TIFR im "memory mapped" Bereich liegt):

loop:
  lds reg, TIFR
  sbrs reg, 4
  rjmp loop


Gruß

Fred
Gast
Tassilo Böhr wrote:
> Mist, sollte natürlich
>
1
> sbis TIFR, 4
2
>
> ...
Genau das ging ja bei René nicht, da TIFR beim Mega16 bei 0x38 liegt, 
also oberhalb der unteren 32 I/O-Adressen, und demnach nicht mit 
sbis/sbic zugänglich ist.

Gruß

Fred
Gast
Danke euch es geht.
Verwirrend ist wenn man in TIFR ein bit löschen will muß man eine 1 auf 
das entsprechende Bit schreiben.
Aber naja letztendlich geht es so wie es soll.
Gast
>Verwirrend ist wenn man in TIFR ein bit löschen will muß man eine 1 auf
>das entsprechende Bit schreiben.

Das ist zwar verwirrend, aber ziemlich praktisch. Stell dir vor, du 
müsstest eine "0" reinschreiben. Ohne dann die anderen Bits 
versehentlich zu beeinflussen müsstest du dann so vorgehen, denn du 
weißt ja nicht, wie die Bits momentan gesetzt sind:

1. Register einlesen
2. Bit löschen
3. Register schreiben


Aber so wie es Atmel umgesetzt hat, brauchste nur die "1" an die 
richtige Stelle zu schreiben, es ist egal, was an den andren Stellen 
steht.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 18 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.