Gast
#100419
Halli hallo an Alle!
ich habe folgendes Problem.ich habe 14 Adressleitungen die ich über
zwei Ports ausgeben muss. nun möchte ich mit einer Funktion alle
Adressen gleichzeitig setzen. Wie kann ich also vom zweiten Port die
ersten 6 Adressen setzen und die anderen nicht?
Um das vielleicht noch ein bissl verständlicher zu machen, hier mal ein
Code...der aber so mit Sicherheit nicht stimmt:
struct {
WORD A0:1; // Bit 0 für Adresse 0
WORD A1:1; // Bit 1 für Adresse 1
WORD A2:1; // Bit 2 für Adresse 2
WORD A3:1; // Bit 3 für Adresse 3
WORD A4:1; // Bit 4 für Adresse 4
WORD A5:1; // Bit 0 für Adresse 5
WORD A6:1; // Bit 1 für Adresse 6
WORD A7:1; // Bit 2 für Adresse 7
WORD A8:1; // Bit 3 für Adresse 8
WORD A9:1; // Bit 0 für Adresse 9
WORD A10:1; // Bit 1 für Adresse 10
WORD A11:1; // Bit 2 für Adresse 11
WORD A12:1; // Bit 3 für Adresse 12
WORD A13:1; // Bit 3 für Adresse 13
// Die verbleibenden 3 Bits
// der Variable werden nicht
// genutzt.
} AdressPins;
void SetAdressPins (int AdressPins)
{
A0 = AdressPins.A0;
A1 = AdressPins.A1;
A2 = AdressPins.A2;
A3 = AdressPins.A3;
A4 = AdressPins.A4;
A5 = AdressPins.A5;
A6 = AdressPins.A6;
A7 = AdressPins.A7;
A8 = AdressPins.A8;
A9 = AdressPins.A9;
A10 = AdressPins.A10;
A11 = AdressPins.A11;
A12 = AdressPins.A12;
A13 = AdressPins.A13;
}
Da dies nicht mein einziges Problem dieser Art ist, würde ich mich sehr
über eine allgemeine Lösung freuen, in der man erkennt wie es möglich
ist, mit einer Funktion an die ein Wert übergeben wird, mehrere Ports
bzw. Pins davon zu setzen.
Vielen Dank schon mal im Vorraus,
MFG Thomas