Forum: Mikrocontroller und Digitale Elektronik Timer PortB Pin7 OC2/OC1A


von Berny (Gast)


Lesenswert?

Hallo,

ich möchte den Timer 0 und 1 des ATmega 128 verwenden und initialisiere 
den Timer 1 wie folgt (Timer 0 hat keinen Einfluss auf OC2/OC1A und ist 
hier nicht aufgeführt):

ldi r16,0b00000101
out TCCR1B, r16          ; B = Clockselect CS 12-10

  ldi r16,0xff-high(TIM1_03sec)
  out OCR1BH,r16
  ldi r16,0xff-low(TIM1_03sec)
  out OCR1BL,r16
  ldi r16,0xff-high(TIM1_06sec)
  out OCR1AH,r16
  ldi r16,0xff-low(TIM1_06sec)
  out OCR1AL,r16

  ldi r16,0xff-high(tim1_1sec)
  out TCNT1H,r16
  ldi r16,0xff-low(tim1_1sec)
  out TCNT1L,r16
  ldi r16,(1<<TOIE0)|(1<<TOIE1)|(0<<TOIE2)|(0<<OCIE1A)|(0<<OCIE1B)
  out TIMSK, r16

und habe dann das Problem, das der PIN7 PORTB OC2/OC1A ständig auf low 
wechselt im Debug Modus AVR Studio. Wenn ich die ...BH BL AH Al 
auskommentiere, ist dieses Problem nicht mehr. Soweit ich es im 
Datenblatt gelesen habe, muss dieser Port explizit aktiviert werden, 
damit der Timer den PIN resetet bzw. setzt und da ich diesen PIN als CS 
für eine SPI Anwendung verwende, stört dieses Verhalten ggf. die 
Steuerung der SPI Anwendung. Weis nicht mehr recht weiter und möchte 
Euch bitten mir ein wenig zu helfen.

Gruß Berny

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.