Programmierproblem

Gast #29384
Lesenswert?
• ▲
▼
Hi Leute

vielleicht kann mir einer bei meinem kleinen Problem helfen.
Und zwar habe ich verschiedene Ports verwendet, um den Datenbus eines 
Displays anzusteuern also z.B. LCD0 = P4.1,
LCD1 = P4.2, LCD2 = P5.0 usw.
Jetzt möchte ich gerne eine 8 Bit Variable erzeugen, deren
einzelnen Bits für das entsprechende Bit LCD0 bis LCD7 des Datenbusses 
steht. Dann muss einen Zuordnung erfolgen, die den Wert von LCD0 z.B. 
auf den Port P4.1 weitergibt.
Damit könnte ich dann einen Hex Wert der Variable übergeben, wodurch ich 
alle Ports sofort ansprechen kann.
Falls irgendjemand eine Idee hat, wäre ich für einen Code
in C dankbar (Assembler ist nicht brauchbar für mich);
mfg Tutti
Gast #29385
Lesenswert?
• ▲
▼
Du kannst es mal so probieren:

void output(unsigned char var)
if (var&1)
{
  sbi(Portx,piny);
}
else
{
  cbi(Portx,piny);
}
if (var&(1<<1));
{
  sbi(Portx,piny);
}
else
{
  cbi(Portx,piny);
}
if (var&(1<<2));
{
.
.
.
.
if (var&(1<<7));
{
  sbi(Portx,piny);
}
else
{
  cbi(Portx,piny);
}
}

So in etwa müsste es gehn. Ist zwar gewiss nicht die beste lösung, aber 
müsste gehn.
Für eine elegantere Lösung währe ich auch Dankbar.

Gruß, Florian

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.