Ich denke mal es geht dabei um Eingänge.
Ich lege dazu eine Variable an, in die ich die gewünschten Ports mit logischen verknüpfungen und Verschiebeoperationen reinschiebe.
Code:
// Pin C 0...3 Low Byte, Pin D 0...3 High Byte
volatile unsined char uc_input;
uc_input = (PIND&0b00000111); // High Wert einlesen und maskieren
uc_input = (uc_imput<<3); // High Wert an den richtigen Platz schieben
uc_input = uc_input|(PINC&0b00000111); // Low Wert einlesen und maskieren
Das sollte der C-Compiler mit ein paar Assembler Befehlen umsetzen können.
Lesezeichen