www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik PIC16F871 - Frage zum Timer2


Autor: JensG (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,
nun habe ich auch mal eine Frage/Problem zum Timer2 des PIC16F871 
(vermutlich generell PIC16).

Ich benutze Timer2 zum Togglen eines PORT Pins (bei jedem TMR2 Interrupt 
wird das Bit umgedreht in der ISR).

Das Datenblatt sagt zum timer2:

The prescaler and postscaler counters are cleared
when any of the following occurs:
• a write to the TMR2 register
• a write to the T2CON register
• any device reset (POR, MCLR reset, WDT reset
or BOR)
TMR2 is not cleared when T2CON is written.

Soweit alles klar.
Es scheint aber auch, daß beim Lesen des T2CON (bit TMR2ON) im main 
irgendwie die Pre/Postscaler zurückgesetzt werden (oder irgendwas 
anderes passiert).
Lasse ich die Timer2-relevanten Register in Ruhe, dann ist die 
produzierte Frequenz am Port-Pin schön gleichmäßig und symmetrisch. 
Sprich der Timer2 läuft schön rund.
Wenn ich dann das Bit TMR2ON lese (über btfsc), dann gibt's eine kurze 
Verzögerung in einer der beiden Rechteck-Halbwellen (die betroffene 
Halbwelle ist dann etwas länger als üblich). Offensichtlich gibt's also 
auch bei dieser Leseaktion einen Reset irgendwelcher Timer2-Register.
Was sagen denn die PIC-Experten unter euch dazu? Ist das bekannt? Wenn 
ja, woran könnte es liegen? Das Datenblatt jedenfalls scheint nicht 
diesen Effekt zu kennen, somit sieht es für mich eher danach aus, daß 
der PIC nicht richtig mitspielt.
Danke.

Autor: Severino R. (severino)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn Du den Sourcecode postest (oder besser gleich das ganze Projekt mit 
Watch-Fenster), in jedem Fall auf's Minimum reduziert, kann man es zu 
Simulieren versuchen.

Autor: JensG (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Severino R.
das würde aber erst morgen werden. Vielleicht habe ich bis morgen auch 
gleich ein kleines, aber komplettes Sample-Programm zusammen, was diesen 
Effekt zeigt (den kompletten Sourcecode will ich Euch nicht zumuten ;-)
Lasse morgen wieder von mir "hören" ...

Autor: JensG (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Severino R.
Das Problem hat sich erledigt. Scheinbar hat der PIC eine Macke, denn 
ein anderes Exemplar zeigt dieses Verhalten nicht. Ist somit kein 
Programmierfehler gewesen.
Trotzdem danke für die angebotene Hilfe.

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.