// Bestimmt bis zu welchem PIN das Lauflicht laufen soll.
#define PINS 9
void setup() {
// put your setup code here, to run once:
for(int i = 2; i < (PINS + 1); i++)
{
pinMode(i, OUTPUT);
digitalWrite(i, LOW);
}
Serial.begin(115200);
}
void loop() {
// put your main code here, to run repeatedly:
long int portausgabe = 0xd3;
Serial.print("Dezimal: ");
Serial.println(portausgabe);
Serial.print("Binary: ");
for(int c = PINS; c > 1;c--)
{
if(bitRead(portausgabe, c - 2))
{
Serial.print('1');
digitalWrite(c, HIGH);
}
else
{
Serial.print('0');
digitalWrite(c, LOW);
}
}
Serial.print("\n");/**/
Serial.print("Hex: 0x");
for(int i = 2; i > 0; i--)
{
switch((portausgabe & (i == 2 ? 0xF0 : 0x0F)) >> (i == 2 ? 4 : 0))
{
case 10: Serial.print("A"); break;
case 11: Serial.print("B"); break;
case 12: Serial.print("C"); break;
case 13: Serial.print("D"); break;
case 14: Serial.print("E"); break;
case 15: Serial.print("F"); break;
default: Serial.print((portausgabe & (i == 2 ? 0xF0 : 0x0F)) >> (i == 2 ? 4 : 0)); break;
}
}
while(1);
}