PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : LCD in C Pinbelegung



Ringo
30.12.2006, 16:54
Hallo!
Also ich steige gerade von Bascom um auf C... O:)

Mein Robbi hat mit Bascom im Grunde schon sehr gut funktioniert.

Kurz zu meinem Robbi (R-1). Er bestitzt 2 AVRs on Board.
Einen Mega16 als Master.
Einen Mega 8 als Slave.

Am Mega8 hängt ein ULN2803 mit dem ich Sensoren ein/aus schalten kann um Strom zu sparen. Außerdem ein LCD und ein TSOP für die Fernbedienung.

Der Mega16 wurde erfolgreich in C programmiert das einzige was noch fehlt ist der Servo aber den werd ich auch noch hinbekommen, denk ich.

Der Mega8 läuft noch als I2C Slave in Bascom. Jetzt will ich diesen auch umschreiben auf C.

Anfangen will ich mit der LCD ansteuerung. Jetzt habe ich festgestellt das peter fleury einen Pin mehr braucht..

Angeschlossen habe ich es so:


Config Lcd = 16 * 2
Config Lcdbus = 4
Config Lcdmode = Port
Config Lcdpin = Pin , Db4 = Portb.3 , Db5 = Portb.2 , Db6 = Portb.1 , Db7 = Portb.0 , E = Portb.4 , Rs = Portb.5

der RW (Read/Write) Pin liegt auf GND..

ind der Lib von Peterfleury wird dieser aber gebraucht?
Gibt es eine andere Lib wo "Bascom freundlicher" ist?

Ist eher gesagt schwer noch ne Strippe zu ziehen.. zumal ich keine Ports mehr habe...

Einer ne Idee? :-s

Danke fürs Lesen!
MfG
Ringo

Ringo
04.01.2007, 10:41
Hmm keine Antworten.. also scheint es nichts zu geben.

Na gut dann werd ich wohl eine Strippe ziehn und einen Port vom ULN opfern.. :-(

Danke fürs Lesen!
MfG
Ringo

SIGINT
04.01.2007, 13:29
*EDIT*
Sorry, hab einen Fehler in meinen Überlegungen entdeckt
*EDIT*

linux_80
04.01.2007, 15:43
Hallo,

@SIGINT
solange man der letzte eines Threads ist, kann man den Beitrag auch ganz löschen ;-)
jetzt nicht mehr.

@Ringo
Du kannst Dir die Arbeit machen, und alle Busyabfragen durch Wait- schleifen ersetzen, so wie in Bascom, auch alles was mit lcd_read zu tun hat kann man rauswerfen.

Da ist es aber zeitlich günstiger ein weiteres Kabel zu verlegen.

Ringo
04.01.2007, 16:09
Danke Linux, ja hab ich mir fast gedacht.

Das Rad neu erfinden wollte ich halt auch nicht...

MfG
Ringo

SIGINT
05.01.2007, 09:43
@linux_80:
Die Idee mit der Wait-Schleife hatte ich auch... da gibts allerdings ein kleines Problem:
Fleury nutzt in "lcd_waitbusy(void)" die "lcd_read()" Funktion um die aktuelle Displayadresse vom Display abzufragen und diese dann als RETURN - Wert zu übergeben...
Deshalb wird die RW - Leitung leider doch benötigt.
Man kann die Routinen umschreiben, aber dafür muss man sich ein wenig mit dem Code beschäftigen.

Gruß,
SIGINT

linux_80
05.01.2007, 11:12
Man muss das lcd-waitbusy durch ein Wait ersetzen, und lieber ein bischen zulange gewartet, damit das LCD auch sicher fertig ist.

Dann kann alles was mit lcd-read zu tun hat raus.

Ich hab jetzt aber nicht alles angeschaut wo das lcd-read noch vorkommt, aber ist ja eigentlich egal, wenn mans nicht hernimmt.