reset controller lcd

Gast #4120952
Lesenswert?

hallo leute,

ich habe an meinem controller ein display, welches ich durch lcd_init zu 
beginn der main routine initialisiere.

die entsprechenden lcd h- und c-dateien habe ich eingebunden.

das problem: an sich funktioniert das lcd, jedoch nur, wenn man nach 
einschalten des controllers diesen resettet. danach geht alles super. 
vorher zeigt er nur weiße balken an.

hier mein code:
1
#define F_CPU 8000000
2
#define BAUD 9600
3

4
// BIBLITOTHEKEN
5
#include <avr/io.h>
6
#include <util/delay.h>
7
#include "lcd-routines_2560.h"
8
#include <stdlib.h>
9
#include <stdio.h>
10
#include <avr/interrupt.h>
11
#include <math.h>
12

13
// Interrupt
14
ISR(TIMER2_OVF_vect)
15
{  
16
  // Berechnungen ...
17
    
18
}
19

20
int main(void)
21
{
22
  
23
  lcd_init();
24
  lcd_clear();
25
  _delay_ms(500);
26
  lcd_setcursor(0,1);
27
  lcd_string("Willkommen!");
28
  lcd_setcursor(0,2);
29
  lcd_string("LCD-");
30
  lcd_setcursor(0,3);
31
  lcd_string("Display");
32
  _delay_ms(2000);
33
  lcd_clear();
34

35
  
36
  // INTERRUPT:
37
  TIMSK2 = (1<<TOIE2);
38
  TCCR2B = (1<<CS21) | (1<<CS20);
39
  sei();
40
  
41
    while(1)
42
    {  
43
  // ...
44
    }
45

46
}

wisst ihr, was falsch sein kann?
#4120969
Lesenswert?

Hi!

Probiere mal zu Beginn des Hauptprogramms eine Kleine Wartezeit von 
200ms.
Das LCD benötigt etwas Zeit um zu starten. Dein Programm scheint schon 
mit der Initialisierung des LCD angefangen zu sein, bevor dieses 
überhaupt bereit ist.

Schau mal ins Datenblatt des LCD.

Calle

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