Pessoal,
Apos varios dias tentanto , resolvi pedir ajuda para uma mera medida de pulso com fins didaticos.
Tenho na entrada T1CH0 um sinal de 32KHz (saida DS1307) e estou tentando apenas pegar o valor do timer na borda de subida.
Estou usando codewarrior em C e consigo cair na rotina de int do timer, mas a cada vez que leio o contador, tenho valores diferentes.
Acredito que nao estou zerando algum timer ou coisa parecida.
Ja tentei com processor expert, mas da na mesma. A rotina de int e a seguinte:
void Capture(void)
{
contador = T1CNT;
lcd_escreve_hexa(contador); // mostra valor hexa no lcd
T1SC0_CH0F = 0;
}
Inicializacao do timer: ( Gerada pelo PE )
void Cap1_Init(void)
{
T1CH0H = 0;
T1CH0L = 0;
T1MODH = 0xFF;
T1MODL = 0xFF;
T1SC = 0x30;
T1SC_PS = 0x02;
T1SC0 = 0x44;
T1SC_TSTOP = 0; /* Run counter */
}
agradeco qualquer ajuda e se possivel algum exemplo em C.