Hallo Leute,
ich komme einfach ohne eure Hilfe bei meinem Problem icht weiter.
Ich möchte den Pin B.7 als Ausgang mit einer variablen Frequenz belegen.
Ich möchte also den Timer 1, Ausgang C im CTC Modus betreiben, doch dieser mag nicht so wie gewünscht - der gleiche Pin mit dem 8bit Timer Timer2 funzt einwandfrei.
Ich habe schon die Register vom Timer3a ausgeleden ( derfunzt im CTC Mode ) und verglichen, die entsprechenden Änderungen gemachtCode:Config Portb.7 = Output Config Timer1 = Timer , Prescale = T2prescale , Clear Timer = 1 , Compare C = Toggle ' 2. Achse On Compare1c Compare_1c_int Enable Compare1c ' Enable the use of Timer2 Start Timer1 Compare1c = 4200 Ocr1ch = 42 Tccr1a = &B00000100 ' Compare Output Mode for Channel C Tccr1b = &B00001011 ' 256 precaler Tccr1c = &B00100000 '###### Hauptprogramm . . . If Achse2 = Halt Then 'Start Timer1 'Disable Compare1c Tccr1b = &B00001000 Porta.5 = 1 Porta.4 = 0 Else Porta.5 = 0 Porta.4 = 1 Start Timer1 If Timer1reload > 30000 Then Timer1reload = 30000 If Timer1reload < 20 Then Timer1reload = 20 Compare1c = Timer1reload Ocr1ch = Timer1reload 'Enable Compare1c Tccr1b = &B00001011 End If '################### ISR Routine : nur zum Test , interrupt brauche ich eigentlich nicht. Compare_1c_int: Incr Test Toggle Porta.1 Return
Tccr1a = &B00000100 ' Compare Output Mode for Channel C
Tccr1b = &B00001011 ' 256 precaler
Tccr1c = &B00100000
ich habe mittlerweile gelesen, dass der Timer1C nicht mit High-Level Code zu erreichen ist - hab auch schon in der def - Datei geschaut - stimmt wohl.
Ich mache wohl was in der Reihenfolge falsch oder nehme falsche Register.
vielen dank für eure Hilfe.
olby2







Zitieren

Lesezeichen