EA DOGS102-6 Display zeigt nichts an

Gast #3960343
Lesenswert?

Moin Moin,

ich versuche das Display DOGS102-6 von EA mit einem Tiva C Series uC 
(TM4C123GH6PM) zum laufen zu bekommen, es wird jedoch absolut nichts auf 
dem Bildschirm angezeigt.
Das Display ist wie im Datenblatt beschrieben mit drei 1uF Kondensatoren 
angeschlossen und bekommt eine Versorgungsspannung von 3,3V. SDA, SCK 
und CS0 sind korrekt an die SPI-Pins des Tiva angeschlossen und CD und 
RST an frei gewählte GPIO-Pins.
Die Initialisierung geschieht gemäß dem Beispiel aus dem Datenblatt und 
es soll oben links ein 4*4 Kästchen dargestellt werden.
Der Tiva ist mit SPI-Mode 3 konfiguriert und schickt die gesamten Daten 
(mit korrektem Takt und CD-Signal) richtig an das Display, wurde mit 
Oszi überprüft und es wird dennoch nichts angezeigt.

Meine Frage:
Wieso wird nichts angezeigt? Bzw. habe ich Irgendetwas übersehen?

In der Hoffnung auf schnelle Hilfe
Torge


Hier der verwendete Code:
1
#include "TM4C123GH6PM.h"
2

3
void cmd(unsigned char cmd) {
4
  //CD low setzen für CMD-Befehl
5
  GPIO_PORTA_DATA_R = 0x00;
6

7
  //Befehl senden
8
  while(!(SSI0_SR_R & 0x01));
9
  SSI0_DR_R = cmd;
10
}
11

12
void data(unsigned char data) {
13
  //CD high setzen für Daten
14
  GPIO_PORTA_DATA_R = 0x10;
15

16
  //Daten senden
17
  while(!(SSI0_SR_R & 0x01));
18
  SSI0_DR_R = data;
19
}
20

21
void main(void) {
22
  int i;
23

24
  //Einschalten
25
  SYSCTL_RCGCSSI_R |= 0x00000001;
26
  SYSCTL_RCGCGPIO_R |= 0x00000001;
27

28
  //Alternative Funktion (SPI)
29
  GPIO_PORTA_AFSEL_R = 0x0000002C;
30
  GPIO_PORTA_PCTL_R = 0x00202200;
31

32
  //Pin Konfiguration
33
  GPIO_PORTA_DEN_R = 0x0000007C;  //Digital Pin
34
  GPIO_PORTA_DIR_R = 0x00000050;  //Output Pin
35

36
  //SPI Konfiguration
37
  SSI0_CR1_R = 0x00000000;  //Ausschalten + Master
38
  SSI0_CC_R = 0x00000000;    //Systemtakt (16MHz)
39
  SSI0_CPSR_R = 0x00000002;  //SPI-Takt (8MHz)
40
  SSI0_CR0_R = 0x000000C7;  //SPI-Mode (3) + Datenlänge (8 Bits)
41
  SSI0_CR1_R = 0x00000002;  //Einschalten
42

43
  //Display Power-Up
44
  GPIO_PORTA_DATA_R = 0x00;  //Reset 0
45
  for(i=0;i<16000;i++);    //1ms warten
46
  GPIO_PORTA_DATA_R = 0x40;  //Reset 1
47
  for(i=0;i<80000;i++);    //5ms warten
48

49
  //Display Konfiguration
50
  cmd(0x40);
51
  cmd(0xA1);
52
  cmd(0xC0);
53
  cmd(0xA4);
54
  cmd(0xA6);
55
  cmd(0xA2);
56
  cmd(0x2F);
57
  cmd(0x27);
58
  cmd(0x81);
59
  cmd(0x10);
60
  cmd(0xFA);
61
  cmd(0x90);
62
  cmd(0xAF);
63

64
  //Testkästchen 4*4 oben links
65
  cmd(0x00);
66
  cmd(0x10);
67
  data(0x0F);
68
  cmd(0x01);
69
  cmd(0x10);
70
  data(0x0F);
71
  cmd(0x02);
72
  cmd(0x10);
73
  data(0x0F);
74
  cmd(0x03);
75
  cmd(0x10);
76
  data(0x0F);
77
  cmd(0xA4);
78

79
  while(1);
80
}

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