void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
//para las pruebas poner fijo valores:
int analogInputsToReport=124;
int pin=4;
Serial.println("Valor inicial apagar bit 124");
byte resultado=1; //simepre ha de valer 1 antes del bucle
int bucle=0; //comenzar el bucle por 0
for (bucle=0;bucle<pin;bucle++) //multiplicamos X2 tantas veces como diga "pin"
{
resultado=resultado*2;
}
resultado=255-resultado; //lo ponemos al revés, lo que es 1 ponemos 0 y viceversa, osea un NOT
analogInputsToReport=255-((255-analogInputsToReport) + (255-resultado)); //hacemos la operación AND, por la vía dificil con matemáticas
Serial.print("resultado analogInputsToReport (value=0) laaargo=");
Serial.println(analogInputsToReport);
analogInputsToReport=124;
analogInputsToReport = analogInputsToReport & ~(1 << pin);
Serial.print("resultado analogInputsToReport (value=0) corto=");
Serial.println(analogInputsToReport);
//******************************
analogInputsToReport=96;
Serial.println("Valor inicial encender bit 96");
resultado=1; //simepre ha de valer 1 antes del bucle
for (bucle=0;bucle<pin;bucle++) //multiplicamos X2 tantas veces como diga "pin"
{
resultado=resultado*2;
}
analogInputsToReport=analogInputsToReport+resultado; //hacemos la operación OR (suma de bits)
Serial.print("resultado analogInputsToReport (value=1) laaargo=");
Serial.println(analogInputsToReport);
analogInputsToReport=96;
analogInputsToReport = analogInputsToReport | (1 << pin);
Serial.print("resultado analogInputsToReport (value=1) corto=");
Serial.println(analogInputsToReport);
}
void loop() {
// put your main code here, to run repeatedly:
}