msp430, 8 bit bus aufteilen

OP #1972171
Lesenswert?
• ▲
▼
Guten Abend zusammen,

an einem msp430 ist ein 8 bit breiter Bus angeschloßen.
Im µC gibt es eine Funktion die den Bus mit Daten versorgen soll.
die Funktion gibt ein Char zurück.


der Bus ist an den ports:

d7    d6    d5    d4    d3    d2    d1    do
P1.7  P1.6  P1.5  P1.4  P1.3  P3.1  P3.3  P3.2

angeschloßen.

jetzt zum Problem:

Wäre der Bus z.B. an den Ports: P1.7 ... P1.0 angeschloßen, könnte ich 
den Char mittels:

char C
P1OUT=C;

so an den bus (und die Ports) übergeben.

Aber wie "splitte" ich den Char auf, um die richtigen Ports (siehe oben) 
anzusteuern?
wahlweise kann ich die Funktion auch ein Int zurückgeben.

vielen Dank im voraus
OP #1972248
Lesenswert?
• ▲
▼
bei dem 8 bit breiten bus habe ich 256 versionen

du meinst sowas?

switch (x)
{
case 0:
...
....hier ports setzen
...
break;
case 0:
...
....hier ports setzen
...
break;
case 0:
...
....hier ports setzen
...
break;

..
..
.

case 255:
...
....hier ports setzen
...
break;
}


nicht wirklich oder?
OP #1972314
Lesenswert?
• ▲
▼
aha, vielen Dank

und das mache ich dann so weiter?

char C = 0b0011010;

if (C & (1 << 0)) {
  // Bit 0 gesetzt...
}

if (C & (1 << 1)) {
  // Bit 1 gesetzt...
}

if (C & (1 << 2)) {
  // Bit 2 gesetzt...
}

if (C & (1 << 3)) {
  // Bit 3 gesetzt...
}
..
..
if (C & (1 << 7)) {
  // Bit 7 gesetzt...
}

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.