Forum: Compiler & IDEs 8 Byte um 90 Grad drehen


von Michael (Gast)


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

von Patrick O. (sir-patrick)


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

von Karl H. (kbuchegg)


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.

von Michael (Gast)


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

von Johann L. (gjlayde) Benutzerseite


Lesenswert?

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

Johann

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.