wieso...

Gast #39833
Weil Du bei letzterem die 1<< vergessen hast, die ist dort
latürnich genauso nötig.

Als

TIMSK |= 1 << TOIE1;

geht es.  Wenn Du keinen Wert auf Portabilität zu anderen
AVR-Compilern legst, kannst Du auch

TIMSK |= _BV(TOIE1);

schreiben, das kann gerade dann, wenn die rechte Seite etwas
mehr als nur ein Bit umfaßt, bißchen übersichtlicher aussehen
(meine Meinung).  Logischerweise ist _BV() nichts anderes als
das »1 <<«, eben nur schon vordefiniert.
Gast #39834
mhh versteh ich net so ganz.

gehen wir mal davon aus das folgender wert im TIMSK steht:

00000000

und wir das ganze mit 0x07 verodern.

dann sollte doch letzendlich

01000000 im TIMSK stehen.

code:

TIMSK = TIMSK | 0x07;

tuts aber nicht :(

mit normalen registern gehts ja auch.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 23 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.