ganz doofe Frage zum Thema Variablenwert auf PORT ausgeben?

Gast #3292420
Lesenswert?
• ▲
▼
Hey,
ok vielleicht ist es auch nur mal Zeit für eine Pause aber ich habe 
folgendes Problem!

habe auf nem AVR-Controller
eine Variable
uint16_t test

dann möchte ich bit 0 bis 5 an PORTC und
bit 6 bis 11 an PORTD ausgeben.....

die restlichen Bits sind erstmal egal.

irgendwie XOR und NOR ich mir einen zurecht!

PORTD = (test) << PD0 | (test>>1) << PD1 ......... etc.

klappt nicht... hmmh?
#3292448
Lesenswert?
• ▲
▼
Rumfreund schrieb:
> Hey,
> ok vielleicht ist es auch nur mal Zeit für eine Pause aber ich habe
> folgendes Problem!
>
> habe auf nem AVR-Controller
> eine Variable
> uint16_t test
>
> dann möchte ich bit 0 bis 5 an PORTC und
> bit 6 bis 11 an PORTD ausgeben.....
>
> die restlichen Bits sind erstmal egal.
>
> irgendwie XOR und NOR ich mir einen zurecht!
>
> PORTD = (test) << PD0 | (test>>1) << PD1 ......... etc.
>
> klappt nicht... hmmh?
den Kot versteht ja auch kein Schwein. Schon gar nicht der Compiler.

1
PORTC = (uint_8)(test & 0x3F);
2
PORTD = (uint_8)((test >> 6) & 0x3F);

Freu dich nicht zu früh.
Du erklärst jetzt, für jeden verständlich, warum das so funktioniert. 
Das sind die absoluten Basics. Das musst du im Schlaf beherrschen.

mfg.

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.