Atmega32 Timer 0 zu langsam?

Gast #3002868
Lesenswert?
• ▲
▼
Ich habe hier das Problem, daß bei einem Atmega32, der mit 16MHz-Quarz
betrieben wird, der Timer 0-Interrupt mit zu geringer Frequenz "läuft".
Das bedeutet, daß die LED an PortD.6 mit weniger als 1 Hz blinkt, wobei
ich dort ca 157 Hz erwartete. (16000000/1024/100)
d.h. Takt/Vorteiler/100

Ich habe das Programm so weit abgemagert, daß man nur das dafür Nötige
hat, um andere Fehlerquellen auszuschließen. CKLPTR hat der Atmega32
m.W. nicht. Ich habe aber weder einen 2. Kontroller noch einen Oszi
hier, um zu messen, ob der Quarz schwingt. Fuses sind mit dem AVR-Studio
gesetzt und stehen auf: High-Fuse:CF Low-Fuse:DF

Sieht jemand den Fehler, den ich offenbar mache?

Kopf kratz
Paul


'*** Testprogramm wegen dem Timer0


$regfile "m32def.dat"
$crystal = 16000000
'systemtakt 16MHz = 16000000Hz

Declare Sub Taster_1
'Declare Sub Taster_2
'Declare Sub Taster_3
'declariert die Subroutinen

Config Portd.6 = Output
Config Portd.5 = Output
'ausgänge festlegen

Config Portd.2 = Input
Config Portd.3 = Input
Config Portd.4 = Input
'eingänge festlegen

Portd.2 = 1
Portd.3 = 1
Portd.4 = 1
'Pullup am Pind2-4 einschalten


Dim Zaehler As Integer


'Timer0 einrichten

Tccr0.cs00 = 1
Tccr0.cs02 = 1       'Prescaler=1024
Timsk.toie0 = 1      'Timer0 Überlauf Interrupt erlauben
Sreg.7 = 1           'Interrupts global erlauben

On Timer0 Tim0_isr

'Hauptprogramm
'****************************************************************
Do


       Debounce Pind.2 , 0 , Taster_1 , Sub 'Test LED an PortD.5


Loop

End

'***Interrupt_Routine*************************************************** 
********
Tim0_isr:

Incr Zaehler

 If Zaehler = 100 Then
   Toggle Portd.6
   Zaehler = 0
 End If

Return


'*** Sub-Menue 
*****************************************************************

Sub Taster_1

   Toggle Portd.5

End Sub

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.