Olá pessoal, estou implementando um projeto onde tenho um controle desses de vídeo game onde tento substituir o controle analógico 3d por um mouse ps2 ou seja quando eu movo o mouse para direita eu leio os bits enviados pelo mouse e envio sinal para o contato do analógico do controle até ai tudo bem consegui fazer porém acontece um problema no tempo de acionamento do controle analógico.
Uso a interrupção externa do PIC18F4550 para ler os bits do mouse, quando leio os bits eu verifico se o mesmo moveu para um lado se sim envio o sinal para um pino de saída do PIC que esta ligado a um optoacoplador 4n35 que deixa passar a corrente comum negativo para o contato do analógico do controle.
porém o que ocorre é que quando eu envio o sinal output_high eu tenho que mandar logo um output_low para para o movimento, então se eu coloco um delay entre o output_high e o output_low o delay atrapalha a proxima execução da interrupção externa que pode ocorrer a qualquer momento quando eu movo o mouse, então e se eu não coloco delay entre o output_high e output_low acho que por ser muito rápido a execução o sinal parece que não chegar no analógico então o mesmo não se move ou se move não dá nem para perceber.
Gostaria de tirar a duvida com vocês se eu usar um timer o mesmo não interferiria na interrupção externa ou se tem outra solução para esse problema?