Anfängerschwierigkeiten mit PICs und CC5x

Hallo NG!

Ich habe mich jetzt endlich mal zusammengerafft und mein Glück mit PICs wieder versucht. Allerdings mit mäßigem Erfolg. Erste Blinkversuche mit LEDs klappten schon ganz gut aber jetzt soll es ein bisschen weiter gehen:

Ein LC-Display (jaa, ich weiß, mein Steckenpferd...) mit PCD8544 soll ran. Codebeispiele für PICs in CC5x konnte ich bei Google finden und habe deshalb selber etwas gemurxt, bzw. versucht, meinen (funktionierenden VB-Code

formatting link
nach C zu portieren:
formatting link

Die LED an PORTA.1 blinkt nach der Soll-Initialisierung auch wie sie soll, das Display bleibt allerdings so wie es ausgeschalt auch ist.

Wahrscheinlich steckt der Teufel wieder einmal im Detail oder ich bin doch noch nicht so C-fest, wie ich dachte.

Deshalb: könnte jemand meinen C-Code mal anschauen und sagen, was daran falsch ist?

Das Datenblatt des Controllers liegt auf

formatting link

Danke schon einmal und einen schönen Rest-zweiten-Weihnachtsfeiertag

wünscht Chris

--
www.hobby-elektronik.de.vu
Reply to
Christof Rueß
Loading thread data ...

DAS hättest du weglassen sollen.Denn du musst die Befehle an das LCD über den I²C-Bus leiten. Wo setzt du denn die Startbedingung und wo liest du Acknowledge? Wie hast du dqs denn verdrahtet?

Gruss

Robert

Reply to
R.Freitag

"R.Freitag" schrieb:

über

Braucht man alles nicht, da der Controller kein I²C will. Ich sollte mir echt angewöhnen, die Variablen SDA und SCL nur noch für I²C zu verwenden! Im Datenblatt heißt es ja auch SDIN und SCLK.

mit Flachbandkabel :o) Das Display hängt noch auf einer Leiterplatte, ist abervollstängig von deren Elektronik isoliert. Am PC arbeitet das Display mit dem geschriebenen Code 1A - nur eben am µC nicht.

MfG

Chris

Reply to
Christof Rueß

Also das LCD hängt mit 7bit an einem 8Bitport?

Dann sieh dir unter Procyon AVRlib File List mal den I²C code an, der ist zwar für den At90 geschrieben, aber portabel.

Gruss

Robert

Reply to
R.Freitag

"R.Freitag" schrieb:

Entschuldigung, dass ich nicht gleich geantwortet habe - ich hatte einige Umbauarbeiten im "Büro" :)

8-Bit

ist

...aber für mich irgendwie der absolute Overkill.

Wie gesagt, das Teil will _kein_ I², auch wenn PCDxyz dransteht. Das Protokoll ist irgendetwas SPI-artiges bzw. ein simples serielles Protokoll. Zum Vergleich habe ich ja meinen Visual Basic-Quelltext verlinkt.

MfG

Chris

Reply to
Christof Rueß

Hallo Chris!

Vermutlich liegts am Timing oder der Initialisierung. Hab Dir mal den Initialisierungsteil von meinem Programm angehangen. Ich spreche den Display allerdings im 4-Bit-Mode über ein Schieberegister an, so belegt der nur 3 PINs.

void LCDInit (void) //LC-Display initialisieren { output_high(lcdclk); // Startroutine LCDout(3); delay_ms(5); LCDout(3); delay_ms(1); LCDout(3); delay_ms(1); LCDout(2); // Set 4 Bit-Mode delay_ms(1); LCDIns(0x028); // Set 4 Bits, 2 Lines LCDIns(0x00C); // Turn Display on LCDIns(0x001); // Clear the Display, Setup the Cursor LCDIns(0x006); // Set Mode }

Gruß Jürgen

--
Mailadress: klein AT ek-p DOT de
Advertisement to this mail address is prohibited!
MyEbay: http://members.ebay.de/aboutme/do1pjk/
Reply to
Juergen Klein

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.