www.mikrocontroller.net

Forum: PC-Programmierung bits in controlregister der lpt schreiben


Autor: Philipp Karbach (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
versuche gerade mein glcd anzusteuern. (Hyundai HP12542R-DYO von
Pollin)  Der name ist hier schon oft gefallen. Die blödsinnige delphi
testsoftware funktioniert. Ich werde das display bald an meinem µC
betreiben aber dafür würde ich es gerne erst richtig verstehen. Viel
beispiel code findet man nicht gerade. Nur fertige software, langweilig
;). Allerdings gibt es in der codesammlung code für den AVR. Ich
versuche also einfach Benedikt's AVR code zu konvertieren. Rein
theoretisch hab ich das auch geschafft. Das Problem liegt meiner
meinung nach in der art wie ich die Bits ins controlregister der lpt
schreibe. Kann sich das jemand mal genauer ansehen? Ich bin nicht
gerade der bitwise experte. Ich weiß dass es daran liegen muss weil das
display schon etwas tut, aber nicht genau was es soll :). Also wenn
jemand nen fehler findet dann wäre ich sehr froh! Vielen dank.

Autor: Philipp Karbach (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
der code sorry.

Autor: Philipp Karbach (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
eh jetzt aber ;)

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Solange Du das hier

  int Control = 0x0; // Controlregister

nie veränderst, kann das nicht funktionieren.

Autor: Philipp Karbach (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hmmm aber meine clear/set bit funktion schreibt doch in Control rein?!
und diese wird dann über ihren controlport rausgesandt... was mach ich
denn da jetzt falsch (wie gehts besser?)?

Autor: Olaf Stieleke (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nur, falls es dir nicht aufgefallen sein sollte:

Löschen des A0-Bits und senden ans LCD:
cbi(LCD,A0);
outp(byte,LCDP);

Das ist okay. Keine Einwände.

Löschen des CS-Bits:
    cbi(LCD,CS);
Setzen von E:
    sbi(LCD,En);
Löschen von E:
    cbi(LCD,En);
Setzen von CS:
    sbi(LCD,CS);

Tja... Dir ist sicherlich klar, das du mit sbi und cbi NUR EINE
VARIABLE ÄNDERST... Ist mir auch schon passiert, darum genehmige ich
mir ein ROFL.

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.