mikrocontroller.net

Forum: Compiler & IDEs Timer vorladen


Autor: wendt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich hab den atmega16 und will den timer0 verwenden:
das mit:
  TCCR0 = 1<<CS02;      //Teiler 256
  TIMSK = 1<<TOIE0;
is mir schon klar
wie ich dann daraus (aus teiler und frequ.) meinen Preloader errechne 
ist mir auch klar, aber warum sieht man ab und zu negative zahlen beim 
preloader
z.b.   TCNT0 = -3;

ich lade doch eigentlich einen pos wert rein, damit er dann von 
preload-wert bis 255 hochzählt und mir dann den interrupt gibt

Autor: johnny.m (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Zweierkomplement-Darstellung machts möglich. Die Zahl "-3" hat die 
Hexadezimal-Darstellung 0xFD (in 8 Bit). Das entspricht wiederum (ohne 
Berücksichtigung des Vorzeichens zurückgerechnet) der Dezimal-Zahl 253. 
Es ist also Wurscht, ob Du 253 oder -3 ins Register schreibst, die 
Binärdarstellung ist für beide die selbe. Google mal nach 
"Zweierkomplement" bzw. befrage Wikipedia dazu. Da ist das Prinzip 
beschrieben.

BTW: Bei den AVRs macht man i.d.R. keinen Timer-Preload. Für so was gibt 
es den CTC-Modus, der den selben Effekt hat, nur andersrum arbeitet.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.