Forum: Mikrocontroller und Digitale Elektronik Display mit Controller KS0108 - Welche Datein?


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Achim S. (achims)


Bewertung
0 lesenswert
nicht lesenswert
Hallo Gemeinde
bin so ziemlich ratlos.
Habe ein Display TG12864B mit dem KS0108. Möchte ies an einem AT1284p in 
Betrieb nehmen. Habe so ca. (gefühlte) 300 Beiträge oder Datein dazu 
gefunden. Bekomme bei allen sehr viele Fehlermeldungen. Keines läuft 
richtig.
Leider ist mir nicht klar, welche richtig läuft oder was ich brauche.
Kann mir jemand weiterhelfen?
achim

: Verschoben durch Admin
von Karl M. (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich fand gerade diesen Link:
-- http://www.mikrocontroller.net/articles/KS0108_Library
Vielleicht kann man damit starten und testen ?

von Achim S. (achims)


Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Karl
habe mir den Teil angesehen und das Lib geladen. Bekomme noch 2 
Fehlermeldungen. Die anderen habe ich schon beseitigt. Leider komme ich 
mit diesen nicht klar. Vielleicht könnte mir jemand dabei helfen.
achim

von Sascha W. (sascha-w)


Bewertung
0 lesenswert
nicht lesenswert
Hallo,

du brauchst noch wenigstens eine Datei die die Grafikdaten für die 
Schriftart die du der Funktion übergibst enthält. Findest du evl. auch 
zum runterladen, oder du hast sie schon aber nicht in dein Projekt 
eingebunden. Es gibt auch Fontconverter mit dem man am PC aus einer 
vorhandenen Schrift die entsprechenden Grafikdaten erzeugen kann.

Sascha

Edit: lt. dem Forumsbeitrag oben sollten die Schriftarten im zip mit 
drin sein, also wirds wohl am Include liegen.

: Bearbeitet durch User
von Achim S. (achims)


Bewertung
0 lesenswert
nicht lesenswert
Hallo Sascha
es sind einige Datein dabei, in dem zip.

arial_bols_14.h
corsiva_12.h

Diese habe ich eingebunden und die .h Datein werden aufgerufen. Auch 
einen Front Creator habe ich dazu. Nach dem readmy soll ich einfach auf 
Start klicken. Es erscheint sehr kurz ein schwarzer Bildschirm und geht 
sofort wieder weg. Sorry, bin ziemlich ratlos dabei
achim

von Dieter F. (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Hallo Achim,

JTAG-Fuse ausgeschaltet?

Gruß
Dieter

von Blaurock (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Dieter Frohnapfel schrieb:
> Hallo Achim,
>
> JTAG ausgeschaltet?

Ach! Mit ausgeschaltetem JTAG ist "corsiva_12" declared?

von Dieter F. (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Blaurock schrieb:
> Ach! Mit ausgeschaltetem JTAG ist "corsiva_12" declared?

Nö, das hat er ja vorher schon gelöst ...

Achim Seeger schrieb:
> es sind einige Datein dabei, in dem zip.
>
> arial_bols_14.h
> corsiva_12.h
>
> Diese habe ich eingebunden und die .h Datein werden aufgerufen.

Lesen hilft manchmal :-)

von Achim S. (achims)


Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo
eigentlich bin ich der Meinung das es ausgeschaltet ist. Nach dem lesen 
einiger Artikel aber nicht mehr so richtig. Schau mal aufs Bild, so 
sieht es aus.
achim

von Achim S. (achims)


Bewertung
0 lesenswert
nicht lesenswert
Sorry, noch eine Frage dazu. Komme doch garnicht soweit. Die Fehler 
kommen doch schon beim compilieren.
Es werden zusätzlich noch ca 3500 Warnungen angezeigt ????

von Dieter F. (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Achim Seeger schrieb:
> eigentlich bin ich der Meinung das es ausgeschaltet ist

Nach der Hardcopy ist die JTAG-Fuse ausgeschaltet (initial ist die immer 
aktiviert).

Zeigst Du bitte mal DEIN KOMPLETTES Programm incl. Built-Protokoll?

von Sascha W. (sascha-w)


Bewertung
0 lesenswert
nicht lesenswert
Hallo,

in deinem Bild ist JTAG aus das passt.

Wenn die Fonts eingebunden sind, sollten darin auch die entsprechenden 
Variablen decl. sein und kein Fehler auftreten! Die Fonts auch zuerst 
eingebunden?

Sascha

von Dieter F. (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Dieter Frohnapfel schrieb:
> Nö, das hat er ja vorher schon gelöst ..

Ich nehms zurück ...

von Achim S. (achims)


Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Kein Problem. Hänge die einzelnen Datein an.

von Dieter F. (Gast)


Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Achim,

probier mal das ...

Gruß
Dieter

von Achim S. (achims)


Bewertung
0 lesenswert
nicht lesenswert
Geht sofort los ...

von Achim S. (achims)


Bewertung
0 lesenswert
nicht lesenswert
Hallo Dieter
diesmal liss sich das Programm ohne Fehlermeldung compilieren. Dann 
wollte ic es, wie gewohnt auf den AT1284 schieben, jetzt zeigt das eine 
Fehlermeldung und der mk2, rote LED blinkt schnell
versuch rauszufinden was da los ist
achim

von Achim S. (achims)


Bewertung
0 lesenswert
nicht lesenswert
ohne angeschlossenes GLCD konnte ich den 1284 das Programm draufbringen, 
anschliessend wieder das Display angeschlossen, keine Anzeige. Werde die 
Belegung kontrollieren

von Achim S. (achims)


Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Habe die Ports anders eingestellt. Bei mir liegen sie auf B - Daten und 
D - E+RE usw. Auch keine änderung. Habe mal ein Foto von der 
Fehlermeldung gemacht

von Achim S. (achims)


Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Noch ein Foto von den Ports / Pins
An welchen Port / Pin liegt welche Date? Verstehe die Belegung nicht so 
richtig

von Dieter F. (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Achim Seeger schrieb:
> Verstehe die Belegung nicht so
> richtig

Hallo Achim,

die Belegung hast Du ja selbst festgelegt. Nur halt falsch. Wenn Du die 
Ports anders definierst, dann bitte auch richtig.

Wenn Du, wie geschrieben, die Daten auf B legen willst, dann musst Du 
auch LCD_DATA_... auf Port B definieren - und LCD-CMD_... auf Port D.

Das hat aber nichts damit zu tun, dass Du den AVR nicht flashen kannst.

Wird der AVR mit Strom versorgt? Falls nicht solltest Du das erstmal 
beheben. Wenn die LED rot blinkt und die Stromversorgung O.K. ist hilft 
es bei mir in so einem Fall, wenn ich den USB-Stecker vom MK III kurz 
abziehe und wieder dran stecke. Dann erneut auswählen im Atmel Studio 
und neu flashen.

Ich gehe davon aus, dass Du ein neues Built erzeugt hast und die 
richtigen Dateien aus dem DEBUG-Ordner ausgewählt hast. Falls nicht, 
solltest Du das unbedingt tun.

Gruß
Dieter

von Achim S. (achims)


Bewertung
0 lesenswert
nicht lesenswert
Hallo Dieter
habe die Datein von dir genommen und damit alles neu erzeugt. Spannung 
liegt an. Habe extra LED zur Kontrolle dran. Mit dem mk2 mache ich es 
genauso, abziehen, kurz warten und neu starten. Habe die Port Belegung 
getauscht. Ergebnis genauso, was ich noch viel weniger verstehe ist, 
wenn ich das GLCD (harware) abziehe, kann ich den 1284 flaschen, sonst 
bekomme ich diese Fehlermeldung.
Hatte eigentlich angenommen, das es einen Standart Treiber dazu gibt. So 
ziemlich alles bezieht sich auf dies alten Datein von 2004.
Könntest du mir noch verraten, was du geändert hast. Nur zum 
Verständnis.
achim

von Dieter F. (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Achim Seeger schrieb:
> wenn ich das GLCD (harware) abziehe, kann ich den 1284 flaschen, sonst
> bekomme ich diese Fehlermeldung

Hallo Achim,

das liegt wohl daran, dass auf dem von Dir gewählten Port B auch die 
ISP-Schnittstelle hängt. Die mag kein angeschlossenes LCD. Wenn es 
unbedingt sein muss, musst Du da mit Widerständen arbeiten (googlen) 
oder das LCD zum Flashen halt wegnehmen.

Achim Seeger schrieb:
> Könntest du mir noch verraten, was du geändert hast. Nur zum
> Verständnis

Nicht viel, habe aus den "static uint8_t Corsiva..." und "static uint8_t 
Arial..." lediglich "static const char Corsiva..." und "static const 
char Arial..." gemacht. Das war die Konsequenz aus den Fehlermeldungen.

Gruß
Dieter

von holger (Gast)


Bewertung
0 lesenswert
nicht lesenswert
>oder das LCD zum Flashen halt wegnehmen.

Nö, ein Pulldown an E sollte reichen.

von Dieter F. (Gast)


Bewertung
0 lesenswert
nicht lesenswert
holger schrieb:
> Nö, ein Pulldown an E sollte reichen.

Welches "E" meinst Du denn?

von holger (Gast)


Bewertung
0 lesenswert
nicht lesenswert
>> Nö, ein Pulldown an E sollte reichen.
>
>Welches "E" meinst Du denn?

Die Enable Leitung vom Display.

von Dieter F. (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Achim Seeger schrieb:
> Bei mir liegen sie auf B - Daten und
> D - E+RE usw.

holger schrieb:
> Die Enable Leitung vom Display.

Die liegt auf Port D. Da ist kein ISP.

von holger (Gast)


Bewertung
0 lesenswert
nicht lesenswert
>> Die Enable Leitung vom Display.
>
>Die liegt auf Port D. Da ist kein ISP.

Sehr schön, dann wird das mit dem Pulldown dort auch funktionieren;)

von Dieter F. (Gast)


Bewertung
0 lesenswert
nicht lesenswert
holger schrieb:
> Sehr schön, dann wird das mit dem Pulldown dort auch funktionieren;)

Da bin ich gespannt, da enable i.d.R. nur bei Ausgabe/Kommandos an das 
LCD gesetzt/gelöscht wird. Das Testprogramm schreibt einmal etwas und 
ist dann in einer Warteschleife ...

Ich weiß auch nicht, was enable mit den Pegeln am Daten-Port (B) zu tun 
haben soll, auf dem der ISP beheimatet ist, ... aber Du wirst das schon 
wissen.

von Falk B. (falk)


Bewertung
0 lesenswert
nicht lesenswert
@ Dieter Frohnapfel (jim_quakenbush)

>> Die Enable Leitung vom Display.

>Die liegt auf Port D. Da ist kein ISP.

Trotzdem braucht sie einen Pull-Down Widerstand, damit das Signal E 
während des Programmierens sicher auf LOW liegt. Denn die IOs sind dann 
hochohmig!

von Sascha W. (sascha-w)


Bewertung
0 lesenswert
nicht lesenswert
Dieter Frohnapfel schrieb:
> Ich weiß auch nicht, was enable mit den Pegeln am Daten-Port (B) zu tun
> haben soll, auf dem der ISP beheimatet ist, ... aber Du wirst das schon
> wissen.
beim Flashen sind alle Anschlüsse des μC hochohmig (ISP-Pins 
ausgenommen) dadurch ist eben u.A. der EN Anschluss am Display in 
undefiniertem Zustand und das kann mit den Pegeln der anderen Leitungen 
dazu führen das das Display am Datenport auf Ausgang geht und das 
Programmieren behindert.

Sascha

von Achim S. (achims)


Bewertung
0 lesenswert
nicht lesenswert
Wenn ich das noch mal zusammenfasse

Datenleitung
Display      AT1284p
----------------------
7 - DB0      Port A0
8 - DB1      Port A1
9 - DB2      Port A2
10 - DB3     Port A3
11 - DB4     Port A4
12 - DB5     Port A5
13 - DB6     Port A6
14 - DB7     Port A7

4 - D/I      Port D6
5 - RW       Port D5
6 - E        Port D2

15 - CS1     Port D0
16 - CS2     Port D1

so habe ich jetzt die Belegung. Damit habe ich E auf D2. Zieh zum 
programmieren das Display ab. Lasse ich es dran, bekomme ich eine 
Fehlermeldung (siehe Foto). Egal ob mit oder ohne, nach einschalten ist 
auf dem display ein grosses dunkles viereck, mehr nicht, zu sehen.
Meinst du das mit den widerständen, wenn an jedem Port Ausgnag zu den 
DB0 bis DB7 noch ein R von so ca 100 Ohm drin ist?
achim

von Dieter F. (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Falk Brunner schrieb:
> Trotzdem braucht sie einen Pull-Down Widerstand, damit das Signal E
> während des Programmierens sicher auf LOW liegt. Denn die IOs sind dann
> hochohmig!

Sascha Weber schrieb:
> beim Flashen sind alle Anschlüsse des μC hochohmig (ISP-Pins
> ausgenommen) dadurch ist eben u.A. der EN Anschluss am Display in
> undefiniertem Zustand und das kann mit den Pegeln der anderen Leitungen
> dazu führen das das Display am Datenport auf Ausgang geht und das
> Programmieren behindert.

Wofür das Ausrufezeichen?

Die Erklärung von Sascha (ohne Ausrufezeichen) ist sogar für mich 
nachvollziehbar, vielen Dank :-)

von Dieter F. (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Achim Seeger schrieb:
> Display      AT1284p
> ----------------------
> 7 - DB0      Port A0

Hallo Achim,

hattest Du nicht gerade geschrieben, Du verwendest Port B für die Daten?

Ich denke, Falk und Sascha werden Dir besser weiterhelfen können. Mir 
fehlen doch noch zu viele Grundlagen.

Gruß
Dieter

von Achim S. (achims)


Bewertung
0 lesenswert
nicht lesenswert
Der PIN 6 vom Display muss mit einm R von (?) nach GND gelegt werden?
Sorry, die Stelle habe ich nirgends gefunden oder übersehen.
Einen PIN habe ich vergessen.
Genau so sagen einige, das der PIN 17 (Reset) über einen R von 1kOhm 
nach +5V soll, andere sagen nichts dazu. Jedes Display ist anders, kann 
mich nur so schlecht dran gewöhnen,immer was anderes
achim

von Achim S. (achims)


Bewertung
0 lesenswert
nicht lesenswert
Nein Dieter, das ist die Bezeichnung am Display.
Habe auf die falsche Seite geschaut, mist, mein blöder Fehler.
Die Daten kommen von Port B, nicht von A.
Verwende die Ports B und D vom 1284

von Achim S. (achims)


Bewertung
0 lesenswert
nicht lesenswert
Habe eine Schaltung gefunden. Dort sind vom Ausgang des Prz zum Eingnag 
des GLCD an den Leitungen DB0 bis DB7 jeweils ein Widerstand von 150 Ohm 
geschaltet.

von holger (Gast)


Bewertung
0 lesenswert
nicht lesenswert
>Egal ob mit oder ohne, nach einschalten ist
>auf dem display ein grosses dunkles viereck, mehr nicht, zu sehen.

Schon mal am Kontrast gedreht?

von Achim S. (achims)


Bewertung
0 lesenswert
nicht lesenswert
Der Kontrast lässt sich regeln. Egal, Schrift oder so kommt nicht. Das 
quadrat wir nur kräftiger

von Dieter F. (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Hallo Achim,

kannst Du bitte mal die aktuelle Be-Schaltung (Schaltplan, kein Standard 
sondern DEINE Schaltung) UND das aktuelle Projekt (Atmel-Studio, genau 
so wie ge-flashed) hier einstellen?

Und dann auch erstmal nichts mehr Ändern.

Gruß
Dieter

(Das gilt natürlich nur, solange Falk keine Einwände hat :-) )

von Achim S. (achims)


Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Sorry Dieter, habe es gerade erst gesehen. Kommt sofort, allerdings habe 
ich keine Schaltung dazu. Nur die Platine, ist eigentlich nichts drauf, 
nur die Verbindung zum AT1284p. Die Unterlagen zum Prz Board stehen 
unter "modulares Board" im Wiki

von Falk B. (falk)


Bewertung
0 lesenswert
nicht lesenswert
@ Achim Seeger (achims)

>Sorry Dieter, habe es gerade erst gesehen. Kommt sofort, allerdings habe
>ich keine Schaltung dazu. Nur die Platine, ist eigentlich nichts drauf,

Hast du die Platine ohne Schaltplan entworfen?

>nur die Verbindung zum AT1284p. Die Unterlagen zum Prz Board stehen
>unter "modulares Board" im Wiki

Da DU was vom Forum willst, wäre es angebracht, einfach mal einen Link 
hier reinzuschreiben.

von Dieter F. (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Achim Seeger schrieb:
> allerdings habe ich keine Schaltung dazu

Hallo Achim,

Du bist ja gut drauf - Du hast keine Schaltung zu dem von Dir 
entwickelten Board? Mit irgendeinem Foto einer Platine kann man nicht so 
arg viel anfangen, wie Dir sicher bekannt ist.

Also nochmal - bitte:

Dieter Frohnapfel schrieb:
> kannst Du bitte mal die aktuelle Be-Schaltung (Schaltplan, kein Standard
> sondern DEINE Schaltung) UND das aktuelle Projekt (Atmel-Studio, genau
> so wie ge-flashed) hier einstellen?
>
> Und dann auch erstmal nichts mehr Ändern.

Gruß
Dieter

von Dieter F. (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Achim Seeger schrieb:
> Nur die Platine, ist eigentlich nichts drauf,
> nur die Verbindung zum AT1284p. Die Unterlagen zum Prz Board stehen
> unter "modulares Board" im Wiki

Hallo Achim,

Du glaubst sicher nicht wirklich, dass sich jemand DEINE Schaltung 
zusammenreimt - oder? Würdest Du auch nicht machen, da bin ich mir 
sicher.

Gruß
Dieter

von holger (Gast)


Bewertung
0 lesenswert
nicht lesenswert

von Achim S. (achims)


Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Dieter
das ganze Projekt besteht hierbei um 2 Platinen.
Die eine Platine (Bild oben besteht nur aus dem Adapter um eine GLCD 
anzuschliessen. Dem 20 polg. Buchsenleiste auf 2 x 2x5 Buchsenleiste, 
zuzüglich einem R und einem Tr zur Ansteuerung der LED. Belegung 
entspricht dabei dem RN Standart. Dabei ist Pin1 - DB 0 und weiter Pin 8 
- DB 7. Auf dem zweiten Anschluss liegen dann die Steuranschlüsse

GLCD    Buchse Platine

4-D/I - Pin 7
5-RW  - PIn 6
6-E   - Pin 3
15-CS1 - Pin 1
16-CS2 - Pin 2

Dies gehen dann wiertr zum Board 1 und an die Ports B und D
Am Port B liegen die Datenleitungen und am Port D liegen die 
Steurleitungen,
Hänge das Projekt mit allen Datein und Bilder ran so weit möglich
Die Platine 35 ist sowas von einfach. Die Verbindung I2C bitte nicht 
beachten, hat andere Aufgaben.
Auf der Schaltung zum Board 1 ist auf der linken Seite die beiden Ports. 
Die Versorgung mit den 5V erfolgt auf D.
Sieh es dir an
achim

von Achim S. (achims)


Bewertung
0 lesenswert
nicht lesenswert
Danke Holger für den Hinweis

von holger (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Ich behaupte jetzt mal die RST Leitung vom Display
hängt in der Luft. Im Programm wird sie nicht angesteuert.
Sie scheint aber auch nicht mit Pullup an 5V zu hängen.

von Dieter F. (Gast)


Bewertung
0 lesenswert
nicht lesenswert
holger schrieb:
> Er meint das hier:

Das Achim etwas meint ist mir klar - nur wie er es GENAU ausgeführt hat, 
das kann ich daraus nicht nachvollziehen. Ich kann auch ein Bild von 
einem Tonkrug einstellen - das was ich hin bekomme sieht dann aber 
möglicherweise leicht anders aus :-)

Also so lange nicht der EXAKTE, REALE Schaltplan incl. der Atmel-Studio 
Projekt-Datei vorliegt halte ich mich zurück.

Gruß
Dieter

von Achim S. (achims)


Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Eine Datei habe ich noch gesehen, kommt sofort. Denn Schaltplan muss 
erst anfertigen. Dauert ein bischen

von Dieter F. (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Achim Seeger schrieb:
> Eine Datei habe ich noch gesehen, kommt sofort. Denn Schaltplan muss
> erst anfertigen. Dauert ein bischen

Hallo Achim,

Du musst schon das komplette Projekt-Verzeichnis zusammenpacken, sonst 
kann man nichts damit anfangen - es fehlen alle Dateien ... außer der 
Projekt-Datei.

Gruß
Dieter

von Achim S. (achims)


Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Dieter
habe alles zusammengepackt. Hoffe nichts vergesssen, auch die Zeichnung 
ist dabei

von Achim S. (achims)


Bewertung
0 lesenswert
nicht lesenswert
Die RST liegt nicht auf +. Hate leider nur ein paar Hinweise dazu 
gefunden, auf anderen zeichnungen fehlt sie total. Woher weiss ich wann 
ich was mache?

von Dieter F. (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Achim Seeger schrieb:
> Woher weiss ich wann ich was mache?

Hallo Achim,

dass weiß ich leider auch nicht. Die Schaltung ist leider nicht lesbar 
(was ist denn "oberer Port" und was "unterer Port" - gibt es dazu auch 
klare Aussagen?

Wenn ich mir das Coding anschaue - dann stimmt da auch einiges nicht.

// Command Port Bits
#define D_I          6 //0x00    // D/I Bit Number
#define R_W          5 //0x01    // R/W Bit Number
#define EN          2 //0x02    // EN Bit Number
#define CSEL1        0 //0x03    // CS1 Bit Number
#define CSEL2        1 //0x04    // CS2 Bit Number

// Chips
#define CHIP1        0x00
#define CHIP2        0x01

Irgendwie passen da Belegungen und Kommentare nicht zueinander. Wie soll 
es denn nun sein, wie ist es richtig? Es wäre schön, wenn Du mit Dir 
erstmal einig wirst :-) - später schauen wir alle mal drüber ...

Gruß
Dieter

von Achim S. (achims)


Bewertung
0 lesenswert
nicht lesenswert
Hallo Dieter
der obere Anschluss geht auf den Port B, der unter auf den Port D des 
AT1284p
Im ori liegen diese beiden Stecker/Buchsen unmittelbar neben einander. 
so das sie mit 3 cm langen stücken verbunden werden. Verwechslung 
dadurch nicht möglich. Dadurch habe ich keine Bezeichnung drauf. Die 
Belegung und Anordnung ist bei beiden Platinen gleich

Dieter Frohnapfel schrieb:
> // Command Port Bits
> #define D_I          6 //0x00    // D/I Bit Number
> #define R_W          5 //0x01    // R/W Bit Number
> #define EN          2 //0x02    // EN Bit Number
> #define CSEL1        0 //0x03    // CS1 Bit Number
> #define CSEL2        1 //0x04    // CS2 Bit Number

Das sind die eingestellten Pins am Port D des AT1284. Habe die alten 
Bezeichnungen drin gelassen. CSEL ist vermutlich die CS1/2.
Habe jetzt den RST (Reset?) jetzt auf +5V gelegt. Mal sehen was das 
bringt.
achim

von Dieter F. (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Achim Seeger schrieb:
>> #define D_I          6 //0x00    // D/I Bit Number

Hallo  Achim,

siehst Du eigentlich nicht, dass z.B. 6 und 0x00 nicht zusammen passen?

Das kann doch keine Socke nachvollziehen ...

Gruß
Dieter

von Dieter F. (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Dieter Frohnapfel schrieb:
> #define D_I          6 //0x00    // D/I Bit Number
> #define R_W          5 //0x01    // R/W Bit Number
> #define EN          2 //0x02    // EN Bit Number
> #define CSEL1        0 //0x03    // CS1 Bit Number
> #define CSEL2        1 //0x04    // CS2 Bit Number
>
> // Chips
> #define CHIP1        0x00
> #define CHIP2        0x01

Außerdem sind D_I / R_w ( oder CSEL1 und CSEL2, je nach Interpretation) 
und CHIP1 und CHIP2 doppelt belegt - was ist denn richtig?

von Achim S. (achims)


Bewertung
0 lesenswert
nicht lesenswert
Die Angabe 0x01 ist das ori. Dabei entspricht doch das 1 nur anders 
geschrieben. D/I liegt bei mir auf Pin 7 von der Buchse und Port D Pin6 
am AT1284. Die anderen pins genauso
Die Angabe Chips ist im ori drin, habe ich nicht verändert. Verwendung 
und Bezeichnung sind mir nicht klar

von Dieter F. (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Achim Seeger schrieb:
> D/I liegt bei mir auf Pin 7 von der Buchse und Port D Pin6

Oh Achim, was denn nun - Pin 7 oder Pin 6?

Und warum kommentierst Du das dann nicht korrekt (mit z.B. //0x07) ?

Achim Seeger schrieb:
> Die anderen pins genauso

Muss ich dazu etwas schreiben?

Achim Seeger schrieb:
> Die Angabe Chips ist im ori drin, habe ich nicht verändert. Verwendung
> und Bezeichnung sind mir nicht klar

Im Original sah das so aus - also unterschiedlich:

#define CSEL1        0x03    // CS1 Bit Number
#define CSEL2        0x04    // CS2 Bit Number

// Chips
#define CHIP1        0x00
#define CHIP2        0x01

Daher gehe ich von durchaus unterschiedlicher Beschaltung / Verwendung 
aus. Das solltest aber Du klären ...

Gruß
Dieter

von Achim S. (achims)


Bewertung
0 lesenswert
nicht lesenswert
Kontrolliere noch mal alles

von Achim S. (achims)


Bewertung
0 lesenswert
nicht lesenswert
CS1 liegt auf D1 und damit am Pin 0
CS2 liegt auf D2 und damit am Pin 1
daher die änderung
Was dann Chip 1 und 2 ist, weiss ich nicht
void ks0108WriteCommand(uint8_t cmd, uint8_t chip) {
  if(chip == CHIP1) {
    LCD_CMD_PORT &= ~(0x01 << CSEL2);      // deselect chip 2
    LCD_CMD_PORT |= 0x01 << CSEL1;        // select chip 1
  } else if(chip == CHIP2) {
    LCD_CMD_PORT &= ~(0x01 << CSEL1);      // deselect chip 1
    LCD_CMD_PORT |= 0x01 << CSEL2;        // select chip 2
  }
in diesem Teil wird es verwendet
Da werde ich wohl weiter suchen müssen. Irgendwie muss es doch 
funktionieren
achim

von Achim S. (achims)


Bewertung
0 lesenswert
nicht lesenswert
Hallo Dieter
Habe weiter gelesen und getestet. Wie fast üblich, fast verzweifelt. 
Aber nicht gleich hauen.

Wollte das Teil heute in die Schublade legen und was anderes machen. 
Hatte noch ein zweites Teil mit gleicher Bauart und Belegung. Habe das 
mal getestet und hatte sofort eine Anzeige.
Hurra, eine fast korrekte Anzeige.
Habe dann die erste Platine untersucht und getestet. Alle Ausgänge gehen 
separat für sich und schalten die angeschlossenen LEDs. Zusammen 
scheinen sie nicht zu gehen. Der Prozessor muss einen kleinen Schaden 
haben. Vielleicht kommt daher auch das Problem mit der Programmierung 
(oben beschrieben). Man, bin ich froh. Es geht.
An alle die geschrieben haben, Danke für eure Hilfe und eure Geduld. Das 
Programm, wie in der Datei, geht.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.