Ratlosigkeit bei LCD

OP (Firma: HTL-Braunau) #3683197
Lesenswert?

Hallo,

ich bin gerade dabei eine Stoppuhr mittels µC mit LCD zu realisieren. 
Soweit keine Probleme nur sobald ich die Timerkonfiguration usw. 
schreibe funktioniert das LCD nicht mehr. Hier die main Funkion. Wenn 
ich alles von TCCR0 bis OCR0 ausklammere läuft das Display. Im Anhang 
meine LCD Routinen. (Display an PORTA, ATmega16)

int main(void)
{
  TCCR0|=(1<<WGM01)|(1<<CS01);
  TIMSK|=(1<<OCIE0);
  MCUCR|=(1<<ISC10)|(1<<ISC11)|(1<<ISC00)|(1<<ISC01);
  GICR|=(1<<INT0)|(1<<INT1);
  OCR0=125;
  sei();
  char buffer[20];
  uint8_t i=0;

  lcd_init();

  lcd_set_position(1,0);
  lcd_puts(" FF Ma.Schmolln");
  while(1);
}
Angehängte Dateien:
#3683226
Lesenswert?

Kann ich ;)

int main(void)
{
  TCCR0|=(1<<WGM01)|(1<<CS01);   //CTC Mode; Prescaler 8
  TIMSK|=(1<<OCIE0);            // Compare Match Interrupt enable
  MCUCR|=(1<<ISC10)|(1<<ISC11)|(1<<ISC00)|(1<<ISC01); //INT0 u. INT1 
sensing auf steigende Flanke
  GICR|=(1<<INT0)|(1<<INT1); enable INT0 und INT1
  OCR0=125;                  Compare Match bei 125
  sei();
  char buffer[20];
  uint8_t i=0;

  lcd_init();

  lcd_set_position(1,0);
  lcd_puts(" FF Ma.Schmolln");
  while(1);
}
Gast #3683291
Lesenswert?

Ich sehe in deinem Code kein Problem.

Zwei Möglichkeiten weshalb das nicht funktioniert:

Es wird nicht der richtige Interruptvektor angesprungen,
falscher Controller eingestellt.

Eine Interruptroutine fummelt an PORTA rum.

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