Kommunikation mit einem TG12864R-04-Display

OP #5929530
Hallo,

ich versuche zur Zeit ein TG12864R-04 mittels TWI mit einem ATmega8 zu 
verbinden. Doch ist mir nicht ganz klar, wie ich mit dem Display 
kommunizieren soll, da die Kommandotabelle das aktive Setzen der Pins 
A0, RD, WR vorraussetzt.

Es sind aber lediglich folgende Pinouts vorhanden, die ich wie folgt 
angeschlossen habe:

/CS(Chip Select):   PD0
RES(Reset):         PD1
SID(Serial Data):   PC4
CLK(Serial Clock):  PC5
RS(A0):             PD2

Ich habe bereits mit einem leicht abgewandelten Skript, mit welchem ich 
erfolgreich mit einem 24C02WP-EEPROM kommunizieren konnte jegliche 
Addressen und Portbelegungen von /CS, RES und RS ausprobiert.

Vielleicht weiß hier jemand, wo mein Fehler liegt.
Angehängte Dateien:
(Firma: matzetronics) #5929556
Kay F. schrieb:
> Vielleicht weiß hier jemand, wo mein Fehler liegt.

Ich finde da mehrere Dinge. Und es wäre auch gut, wenn du schreibst, 
welche Libraries du verwendest. Ich vermute zwar, das es die von Peter 
Fleury sind, aber sicher kann ich da ja nicht sein.
1.
>    for(addr=0; addr<0xFF; addr++)
Das kann nicht sein. I²C Adressen gibts nur 127. Bei Fleury ist das dann 
der Bereich von 0x02 bis 0xFE, das untere Bit ist für R/W.
2.
>        for(port=0; port<8; port++){
>           PORTD=port;
Das ist sehr merkwürdig. Wofür soll das sein? Um das LCD anzusprechen, 
muss /CS low sein und RES auch. Es ist mögl. sinnvoll, RES einmal am 
Programmstart kurz mal High zu setzen und dann wieder auf Low, um das 
LCD zurückzusetzen.

3.
> ret[0]=i2c_start(addr); //set device address and write mod
Ich finde weder eine Variable noch ein Array, das 'ret' genannt wird.

4.
> typedef unsigned char BYTE;
> typedef unsigned short WORD;
Kannste dir sparen. Du benutzt ja auch schon uint8_t, reicht völlig aus.

Genauere Infos gibts evtl. noch im Datenblatt des  NT7534 Kontrollers.
http://www.newhavendisplay.com/app_notes/NT7534.pdf
Gast #5929578
Kay F. schrieb:
> ich versuche zur Zeit ein TG12864R-04 mittels TWI mit einem ATmega8 zu
> verbinden. Doch ist mir nicht ganz klar, wie ich mit dem Display
> kommunizieren soll, da die Kommandotabelle das aktive Setzen der Pins
> A0, RD, WR vorraussetzt.

Dein Problem ist, das Display spricht kein TWI also I2C sondern SPI.

Ähnlich aber andere Schnittstelle.

Wenn Du das passend anschließt funktioniert es aber.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 7 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.