Buenas tardes. Abro este tema para ver si alguien me podría ayudar a corroborar esta equivalencia de código de
arduino.
Lo que pasa es que soy nuevo programando registros y la verdad no lo tengo muy claro aún.
Me gustaría cambiar el código para que haga esto mismo:
Pero utilizando la función micros(); y el registro de puertos. Esto es lo que yo creo que sería:
Tambien estas dos funciones ;
lo que yo creo que sería:
Muchas gracias por su ayuda.
Saludos.
arduino.
Lo que pasa es que soy nuevo programando registros y la verdad no lo tengo muy claro aún.
Me gustaría cambiar el código para que haga esto mismo:
C:
delayMicroseconds(7000-valor);
digitalWrite(3,HIGH);
delayMicroseconds(10);
digitalWrite(3, LOW);
C:
unsigned long currentMillis = micros();
if (currentMillis - previousMillis >= 7000UL -valor) {
PORTD |= B00001000;
unsigned long currentMillis2 = micros();
if (currentMillis2 - previousMillis2 >= 10UL) {
PORTD &= !B00001000;
previousMillis2 = currentMillis2;
}
previousMillis = currentMillis;
}
C:
pinMode(2,INPUT)
if(!digitalRead(2)){
...
}
C:
DDRD &= B11111011;
if (!(PIND >> 2 & B00000100 >> 2)){
...
}
Saludos.