Timer PortB Pin7 OC2/OC1A

Gast #1155729
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

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren