Establecer tiempo

Buenas.

Quiero realizar el siguiente programa:
Mando una señal analógica de 220V y cada vez que pase por 0V, manda a una entrada de arduino UNO un 1 (x = 1) Esta parte del código ya lo tengo, mi duda es la siguiente:

Cuando mande el x=1 dicho anteriormente, quiero que a partir de ese tiempo espere un retardo (asignado por mí) y que active una salida desde el T_espera hasta 10 milisegundos. (es decir, si T_espera=1, la salida debería activarse durante 9 ms)

Me gustaría hacerlo sin usar delay, y estableciendo el máximo de 10ms

void loop()
{
T_espera = 1; //tiempo de espera 1 ms
  if(cero == 1)
  {
    

    delay(T_espera);
 
    salida = 1;
  }

Espero haberme explicado bien, un saludo, y gracias

Hola,
La verdad no se entiende muy bien, ¿puede ser esto?

void loop()
{
T_espera = 1; //tiempo de espera 1 ms
  if(cero == 1)
  {
   

    delay(T_espera);
 
    salida = 1;

   delay(10 - T_espera); // 10 milisegundos - tiempo de espera

    salida = 0;
   }
}

Si, más o menos es eso , pero me gustaría hacerlo sin usar delay

Intentas controlar el brillo de una lámpara?

surbyte:
Intentas controlar el brillo de una lámpara?

Eso es, quiero controlarlo mediante un TRIAC

Busca arduino AC phase control y tienes todo el código de como hacerlo.

CONSEJO PARA LA PROXIMA
Cuando plantees un tema no te guardes nada, si vienes a un foro público no pretendas que tengamos que sacarte las cosas con cuenta gotas. Nada que las normas del foro no expresen con claridad. Dicen : plantea debidamente tu problema, aporta esquemas, código, enlaces y toda información que ayude.
Compara esto que te digo con tu pregunta inicial?
Tienes suerte que llevo años en esto y ya se para donde apuntan la mayor parte de las consultas, pero si no? estaríamos dándole vueltas al millis() intentando desentrañar tu idea.
Espero lo recuerdes para la próxima, y todos ganaremos tiempo!!