- Labornetzteil AliExpress         
Seite 2 von 3 ErsteErste 123 LetzteLetzte
Ergebnis 11 bis 20 von 22

Thema: LCD will nicht :(

  1. #11
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    05.11.2004
    Ort
    Karlsruhe
    Beiträge
    223
    Anzeige

    LiFePo4 Akku selber bauen - Video
    @noNeed 4 aNick:
    Danke für diese Zeilen

    bluebrother (... findet Basic für AVRs auch ziemlich daneben -- und für hardewarenahes Programmieren ungeeignet)

  2. #12
    Erfahrener Benutzer Robotik Einstein Avatar von Felix G
    Registriert seit
    29.06.2004
    Ort
    49°32'N 8°40'E
    Alter
    41
    Beiträge
    1.780
    Also ich finde C auch besser als Basic.

    Und ich habe eine LCD-Bibliothek für den KS0073(nahezu 100% HD44780 kompatibel) geschrieben.
    Sie ist noch lange nicht fertig, und leider kann ich daran momentan nichts mehr machen (keine Zeit)

    Aber sie sollte schon jetzt in der Lage sein ein Display (mit KS0073) anzusteuern,
    und zwar völlig unabhängig davon wie es angeschlossen ist.

    Es geht sowohl 4- als auch 8-Bit und es ist völlig egal wie die Steuerleitungen angeschlossen sind.
    (den 4-Bit Modus habe ich allerdings noch nicht testen können)
    Bei den Datenleitungen gibt es nur die Einschränkung, daß es mindestens 4 aufeinanderfolgende Pins eines Ports sein müssen.
    (es ist aber egal ob das die Pins 0-3 sind oder z.B. 2-5)


    Von der Funktionalität ist auch alles wesentliche schon drin.
    man kann dem Display Befehle schicken, Daten auslesen (also Adresse & Busy-Flag), einzelne Zeichen oder auch ganze Strings ausgeben.
    Dabei wird auch "\n" erkannt, und das Display springt in die nächste Zeile.
    Es existieren auch zwei Funktionen SetPos und GetPos um den Cursor an eine bestimmte Position zu setzen bzw. die Cursorposition auszulesen.

    Wenn man möchte kann man das ganze in Kombination mit fprintf() verwenden, und so formatierten Text ausgeben.

    Beispiel:
    Code:
    float atemp;
    
    fprintf(lcdout, "Aussentemperatur: %f°C", atemp);

    Ich stelle die Bibliothek jetzt mal hier rein, obwohl sie noch nicht fertig ist



    Ich würde mich sehr über konstruktive Kritik freuen...
    also wenn ihr Verbesserungsvorschläge habt, immer her damit
    Angehängte Dateien Angehängte Dateien
    So viele Treppen und so wenig Zeit!

  3. #13
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    16.05.2004
    Ort
    Bergstraße
    Beiträge
    245
    ahhh, endlich! ein kleiner Flamewar
    Also, ein großer Freund von C bin ich auch nicht. Ich wundere mich immer wieder wieviele Fehler man (ich) in ein paar Zeilen machen kann.
    Allerdings kostet der GCC nix (ausser vielleicht Zeit) und erzeugt wirklich sehr kompakten Code. Ausserdem _ist_ µC-Programmierung sehr hardwarenah und die einzige Alternative wäre meiner Meinung nach Assembler, und es gibt nur eins was über ist als C, Assembler (naja vielleicht noch Cobol ..).
    Bascom ist sehr mächtig, hat aber meiner Meinung nach den Nachteil, dass ich nicht wirklich weis, was ich tue und wenn's dann doch nicht sofort geht (in C der Normalfall) habe ich aber auch wenig Möglichkeit zu sehen, wo es schief geht. Ich kann naürlich auch die Register direkt programmieren, aber dann ist der Vorteil von Bascom dahin.

    just my 0.02€
    ... bernd

  4. #14
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    20.06.2004
    Beiträge
    1.941
    hallo, gestern um 12.30 uhr hat schon einer nach dem rat gefagt. bitte helft ihn doch einmal so, das sein display funktioniert. ihr könnt den armen doch nicht so einfach hängen lassen. in Bascom hätte ich ihn nicht in stich gelassen. seid so nett.
    mfg pebisoft

  5. #15
    Erfahrener Benutzer Robotik Einstein Avatar von Felix G
    Registriert seit
    29.06.2004
    Ort
    49°32'N 8°40'E
    Alter
    41
    Beiträge
    1.780
    meinst du etwa diesen thread?

    Dann verstehe ich ehrlichgesagt nicht was du willst Bild hier  
    bluebrother hat ihm ja gestern schon geholfen.
    So viele Treppen und so wenig Zeit!

  6. #16
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    17.11.2003
    Ort
    Alfeld (50km südl. Hannover)
    Alter
    40
    Beiträge
    237
    @pepisoft
    Ich versteh dich irgendwie nicht, erst schimpfst du über c ohne auf die
    Frage bezug zu nehmen, dann bettelst du um hilfe für ihn.
    Hätest du gernichts gesagt wärs genause gelaufen.
    Nichts gegen dich, aber irgendwie trägst du auch nichts zur
    Problemlösung bei.

    flamer_war(end)


    @noNeed 4 aNick
    Ich jenn mich mit Peter Fleurys Librarie nicht aus, aber wenn du willst
    kann ich dir ne einfache (Test)Lcd bibliothek schicken, mit der du
    zumindest das LCD testen kannst. Ich hab bisher ne komplette lcd
    bibliothek selber geschrieben, nicht weil ich es besser kann sondern um
    dir Grundlagen zu lernen (Also kein perfekter Code, aber mein

    Ich helfe gern,
    also nur melden.
    Open Minds. Open Sources. Open Future

  7. #17
    Danke nett von dir, aber auch mich reizt es mehr, dass ganze auf eigene Faust zu programmieren - besonders weil ich es doch auch schon geschafft hab, was auf dem LCD auszugeben...
    Wenn auch nicht ganz das, was ich vorhatte

    Wahrscheinlich irgendwelche Pins vertauscht oder so...

  8. #18
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    17.11.2003
    Ort
    Alfeld (50km südl. Hannover)
    Alter
    40
    Beiträge
    237
    Ja, dass selber lernen hat mich auch gereizt. Und wenn jetzt schon was angezeigt wird
    kann es nur besser werde ( Kenn ich aus eigener Erfahrung *g*)
    Auf jeden Fall noch viel Spaß und Erfolg
    Open Minds. Open Sources. Open Future

  9. #19
    *hochschieb*
    Ich fänds jetzt blöd, nen neuen Thread zu eröffnen, weil's mehr oder weniger immernoch ums selbe Thema geht.

    Mittlerweile läuft mein LCD einwandfrei jedoch nur auf einer Zeile...
    Wenn der Strom eingeschaltet ist und das LCD noch nich initialisiert ist, ist auch nur die obere Zeile schwarz, die untere bleibt leer (Weiß nicht, ob man dem jetzt irgend eine Bedeutung zuschreiben kann).

    Nun weiß ich nicht, ob der im LCD eingebaute Controller automatisch nach Zeilenende die Zeile wechselt, aber ich denke mal nicht, denn als ich es mal mit nem langen String versucht habe, blieb der hintere Rest weg.

    In anderen Lib's hab ich immer wieder getPos / setPos Funktionen gesehn, weiß aber nicht genau, wie die realisiert werden, denn ich hab in meinem Datenblatt keinen Befehl für die Positionierung gefunden (Bis auf den Cursor nach links/rechts bewegen; aber das bringt mir ja nix, wenn ich ne neue Zeile haben will...)

    Also wat nu?

  10. #20
    Erfahrener Benutzer Robotik Einstein Avatar von Felix G
    Registriert seit
    29.06.2004
    Ort
    49°32'N 8°40'E
    Alter
    41
    Beiträge
    1.780
    In meiner Lib kann man eigentlich ganz gut sehen wie das funktioniert...


    Um den Cursor an eine bestimmte Position zu setzen gibt es, zumindest beim KS0073,
    den Befehl "Set-DDRAM-Address" mit dem Instruction-Code 0x80+Addresse.
    Die unteren 7-Bits enthalten dabei also die Addresse an die der Cursor gesetzt werden soll.



    Das Lesen der Position funktioniert praktisch genauso, und ist im Prinzip ein "Abfallprodukt" wenn man das Busy-Flag überprüft.
    Denn das Busy-Flag ist ja das 8. Bit, und in den unteren 7 Bit steht die Addresse an der sich der Cursor momentan befindet.
    Die kriegt man also quasi gratis dazu.
    So viele Treppen und so wenig Zeit!

Seite 2 von 3 ErsteErste 123 LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Solar Speicher und Akkus Tests