No he sabido poner un título mejor que explique mi problema.
Para mi proyecto de cuadricóptero, que sigue lento pero seguro :), estoy haciendo una rutina para el control de los ESC. Por diversas causas prefiero no usar la librería servo. La cuestión es que la velocidad de las instrucciones para garantizar el tiempo HIGH lo más exacto en la señal a los ESC estoy comprobando que es muy crítico. Tanto que un primer paso ha sido apartar las instrucciones
digitalWrite(PinMotorDelante, HIGH);
y utilizar
bitWrite(PORTD, PinMotorDelante, 1);
Si PinMotorDelante está definido como una constante,
const int PinMotorDelante = 2;
la instrucción bitWrite funciona muy rápida. Pero si en su lugar pongo una variable de un array
bitWrite(PORTD, OrdenPinMotor [0], 1);
la instrucción se vuelve lenta por el tiempo que tarda en leer el valor del array. ¿Alguien sabe de alguna forma para solucionar esto, que bitWrite pueda leer una variable rápidamente?