PIC18: Timer0 Konfiguration

Gast #2827016
Lesenswert?
• ▲
▼
Hallo PICler,
1
//T0CONbits.T08BIT = 0;   // bit 6
2
//T0CONbits.T0CS = 0;     // bit 5
3
//T0CONbits.T0SE = 0;     // bit 4
4
//T0CONbits.PSA = 0;      // bit 3
5
//T0CONbits.T0PS3 = 3;    // bits 2-0
6
//T0CONbits.TMR0ON = 1;   // bit 7
7
T0CON = 0x83;

wenn ich T0CON direkt mit 0x83 lade, läuft die Anwendung wie geplant.
Setze ich die bits einzeln, funkioniert es nicht.

Habe debugger angeworfen und siehe da, beim steppen wird PSA zwar
auf 0 gesetzt, springt aber später wieder auf 1. Sprich, Prescaler
wird nicht dem Timer0 zugewiesen. Was läuft da falsch?
Im Datenblatt habe ich keinen Hinweis auf richtiges Setzen gefunden.
Bin etwas baff. Hoffe ihr könnt mir helfen. Es geht jetzt zwar,
aber ich nutze diese Register.Bit Zugriffe auch an anderen Stellen.
Compiler ist übrigens mcc18.

Grüße
#2828219
Lesenswert?
• ▲
▼
Es gibt nur T0PS0, T0PS1 und T0PS2. T0PS3 gibt es (zumindest beim 
PIC18F4550) nicht. Würde es dieses geben, würdest du dadurch aber auf 
ein BIT zugreifen, jedoch ist 3 -> 11 binär und somit 2 bit groß.

Bei deiner oberen Methode setzt du jedes Bit einzeln. Es ist evtl 
übersichtlicher oder schneller ersichtlich, was eingestellt wird, jedoch 
find ich persönlicher die 2. Variante (also das komplette Byte in eins 
schreiben) besser, da weniger Platz verbraucht wird und man in den 
Kommentaren beschreiben kann, was man eingestellt hat.

Je nach Kompiler kann es auch sein, dass er bei der Einzelbit-Variante 
in Assembler 8 bsf/bcf nimmt und bei dem anderen nur ein movlw und 
movwf, somit nur 2 befehle statt 8 nimmt.

Antwort schreiben

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.

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.