quindi ancora più semplice! bene, bene, ci pensi tu allora?
[/quote]
boolean whatWritten(int pin) {
uint8_t bit = digitalPinToBitMask(pin);
uint8_t port = digitalPinToPort(pin);
return *portInputRegister(port) & bit;
}
per ora sono arrivato a questo, i fase di test in quanto sembra funzionare ma non mi pare fare lo shift del bit ad esempio
boolean whatWritten(int pin) {
uint8_t bit = digitalPinToBitMask(pin);
uint8_t port = digitalPinToPort(pin);
return *portInputRegister(port) & bit;
}
void setup() {
Serial.begin(9600);
pinMode(5, OUTPUT);
Serial.println(whatWritten(5));
digitalWrite(5, HIGH);
Serial.println(whatWritten(5));
digitalWrite(5, LOW);
Serial.println(whatWritten(5));
}
void loop() { };
in seriale printa
0
32
0