Bom pessoal, o que era para ser mais um recurso utilizado se transformou numa frustração para mim, já tentei de todas as formas utilizar este recurso e não obtive sucesso, talvez eu esteja cometendo um erro primário mas não consigo enchergar a solução e já tentei de tudo...
A situação é a seguinte:
Uso o CCP1 no modo Capture configurado para capturar o valor do TMR1 em toda borda de subida de um sinal externo, e queria usar o CCP2 no modo Compare usando o Special Event Trigger para realizar leituras no A/D com espaçamento de tempo constante (amostragem). tudo ocorre corretamente com exceção do TMR3 que é comparado, com o CCPR2, quando igual seta o CCP2IF, seta o GO/DONE do A/D mas não zera por nada neste mundo o TMR3...
CCP2CON = 0b00001011 ( Compare mode, Trigger special event (CCPIF bit is set)
T3CON = 0b10001001 (bit <6,3> = 01 =>
Timer3 is the clock source for compare/capture of CCP2,
Timer1 is the clock source for compare/capture of CCP1)
CCPR2L, CCPR2L = Valor que será a ref. na comparação
Fiz um teste com o CCP1 e ele zerou o TMR3, mas o CCP1 não dispara a leitura do A/D...
No Datasheet está bem confusa esta parte, hora trata do "special event trigger output" e hora do "special trigger output do CCPX", acho que têm alguma sacada que deve ser feita para eu conseguir zerar o TMR3 ou é um pau do Proteus, já que é onde eu faço as simulações no modo Debug e verificando registrador por registrador...
Muito obrigado!!!