Discoveryboard, LCD zeigt falsche farben an

Gast #4891131
Lesenswert?

Hallo miteinander,
Vorab: Ich bin recht unerfahren in der Nutzung von HALs und BSPs und bin 
mich da gerade etwas am Einarbeiten, wie man damit am Besten umgeht.

Ich habe das Discovery STM32F429 Board und nutze die von ST zur 
Verfügung gestellten "CubeF4" Treiber  HALs  BSPs.

Mein aktuelles Problem ist kurz zusammen gefasst:
Im Debug mode zeigt er immer die falschen Farben an (Schwarz = Weiß, 
Blau = Gelb usw.). Sofern ich die Software auf dem Board ohne Debugmodus 
starte, funktioniert es, wenn ich nur "kurz" die Reset Taste drücke, 
aber funktioniert fehlerhaft wenn ich länger auf der Reset Taste bleibe.

Ich nutze ein von CubeF4 zur Verfügung gestelltes "Template" als Start 
für mein Programm. Es wird zuvor z.B. die SystemClock auf 180Mhz 
angehoben etc.

Ich weiß jetzt natürlich nicht genau was ich euch alles an Codeschnipsel 
zeigen soll, damit man mir überhaupt helfen kann.

die main aufs minimum abgespeckt:
1
  if(BSP_LCD_Init() != LCD_OK)
2
  {
3
    printf("LCD INIT FAIL"); //will be shown in debugwindow
4
    while(1);
5
  }
6
  BSP_LCD_LayerDefaultInit(LCD_FOREGROUND_LAYER, LCD_FRAME_BUFFER);
7
  BSP_LCD_LayerDefaultInit(LCD_BACKGROUND_LAYER, LCD_FRAME_BUFFER+BUFFER_OFFSET);
8
  
9
  BSP_LCD_SelectLayer(LCD_FOREGROUND_LAYER);
10
  BSP_LCD_SetBackColor(LCD_COLOR_DARKGRAY);
11
  BSP_LCD_SetTextColor(LCD_COLOR_BLACK);
12
  BSP_LCD_DisplayOn();
13
  while (1)
14
  {
15
    //HAL_Delay(50);
16
    BSP_LCD_Clear(LCD_COLOR_BLACK);
17
  }
18
}


Die Farbwerte stehen korrekt im RAM drin. Da scheint irgendwas mit der 
Synchronisierung zw. Microcontroller und Bildschirm nicht zu stimmen?


Danke schonmal fürs lesen.

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