mikrocontroller.net

Forum: Compiler & IDEs 8 Byte um 90 Grad drehen


Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

für eine LCD Ausgabe muß ich die Bytes um 90 Grad drehen.

Bei meinem neuen Display werden die Bytes Horizontal aufs Display 
ausgegeben.
Die Font Header Files sind für die vertikale Ausgabe vorgesehen.

Um das aufs neue Display zu bringen muß ich 8 Bytes aus der Header Datei 
lesen und 90 Grad drehen.

Ich hoffe das ist einigermasen verständlich.

Hat jemand Info wie die Lösung aussehen könnte?


Viele Grüße
Michael

Autor: Patrick O. (sir-patrick)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

wenn ich das richtig verstehe, müssten die doch schon vorgeneriert im 
Header drinnen sein. Geht es dann nicht, dass du sie einfach (oder 
kompliziert) von Hand umdrehst, und so in den header einträgst?

Patrick

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Michael schrieb:
> Hallo,
>
> für eine LCD Ausgabe muß ich die Bytes um 90 Grad drehen.
>
> Bei meinem neuen Display werden die Bytes Horizontal aufs Display
> ausgegeben.
> Die Font Header Files sind für die vertikale Ausgabe vorgesehen.
>
> Um das aufs neue Display zu bringen muß ich 8 Bytes aus der Header Datei
> lesen und 90 Grad drehen.
>
> Ich hoffe das ist einigermasen verständlich.
>
> Hat jemand Info wie die Lösung aussehen könnte?


  Result[0] = ( Input[0] & 0x80 )        +
              ( Input[1] & 0x80 ) >> 1   +
              ( Input[2] & 0x80 ) >> 2   +
              ( Input[3] & 0x80 ) >> 3   +
              ( Input[4] & 0x80 ) >> 4   +
              ( Input[5] & 0x80 ) >> 5   +
              ( Input[6] & 0x80 ) >> 6   +
              ( Input[7] & 0x80 ) >> 7;

  Result[1] = ( Input[0] & 0x40 ) << 1   +
              ( Input[1] & 0x40 )        +
              ( Input[2] & 0x40 ) >> 1   +
              ( Input[3] & 0x40 ) >> 2   +
              ( Input[4] & 0x40 ) >> 3   +
              ( Input[5] & 0x40 ) >> 4   +
              ( Input[6] & 0x40 ) >> 5   +
              ( Input[7] & 0x40 ) >> 6;

  Result[2] = ( Input[0] & 0x20 ) << 2   +
              ( Input[1] & 0x20 ) << 1   +
              ( Input[2] & 0x20 )        +
              ( Input[3] & 0x20 ) >> 1   +
              ( Input[4] & 0x20 ) >> 2   +
              ( Input[5] & 0x20 ) >> 3   +
              ( Input[6] & 0x20 ) >> 4   +
              ( Input[7] & 0x20 ) >> 5;

etc. etc.

Sinnvollerweise wirst du das nicht zur Laufzeit machen, sondern dir neue 
Headerfiles generieren.

Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

das sieht gut aus Karl Heinz.
Du hast recht da sollte ich jetzt die Header Files neu damit generieren.
Leider kenne ich mich mit Windows Programmen nicht besonders aus und muß 
mal sehen wie ich das umsetzen werde.

Danke!

Michael

Autor: Johann L. (gjlayde) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn man sieht wie die Originalheader aussehen kann man vielleicht auch 
was mit Makros basteln. Dann brauchst kein Tool schreiben :-)

Johann

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.