Página 1 de 1
ADC + TIMER0 + CCS

Enviado:
18 Mar 2009 10:56
por sandrini
Caros amigos,
Estou tendo um problema quando faço a leitura do AD do PIC16F877A e utilizo a interrupção do Timer0. Os valores ficam diferentes, por exemplo: quando leio sem a interrupção, o valor é de 1022 e depois quando habilito a interrupção vai para 973, outro exemplo: quando leio 614 sem interrupção, este passa para 47 com a interrupção ativada.
Alguém poderia me dizer o que pode estar acontecendo? Faço este mesmo processo no MikroC e funciona perfeitamente, mas no CCS dá esse problema.
Desde já, agradeço....

Enviado:
18 Mar 2009 11:00
por fabim
o problema é o " CCS " ofcourse!!
de uma olhada como ele esta tratando, em ASM, dessa forma você pode descobrir o que esta havendo!!
Re: ADC + TIMER0 + CCS

Enviado:
18 Mar 2009 15:31
por andre_luis
sandrini,
O fato de voce estar lendo um valor menor, pode ser um ´indício´ de que provavelmente o tempo de interrupção do timer não esteja sendo suficiente para o A/D terminar a conversão.
O CCS tem APIs prontas para isso, o que facilita muito, pois voce não tem de se preocupar em trabalhar direto com os registradores.
+++

Enviado:
18 Mar 2009 16:29
por otavio luiz
Já que voce esta abilitando a interrupção do timer0 então usa tambem a interrupção do AD. Quando ocorrer uma int voce checa se é do timmer ou é do AD.

Enviado:
19 Mar 2009 08:13
por fabio_pic
Você pode também tentar desabilitar o timer0, fazer a leitura AD e religar o timer0.
Boa sorte.

Enviado:
19 Mar 2009 09:08
por sandrini
Muito obrigado pelas dicas... vou seguí-las e ver o que acontece...
Muito obrigado mesmo.....
resultado

Enviado:
21 Mar 2009 17:57
por fernandor
nao esqueca de postar o resultado. Como vc solucionou o problema? este é um dos principais propositos do forum. A sua duvida pode ser a duvida de alguem no futuro.
Uma pergunta, porque voce esta usando timer0 para fazer a leitura do AD?
Abraço
Fernando

Enviado:
27 Mar 2009 16:09
por sandrini
Caro Fernando,
Eu vou usar o timer 0 para mostrar os valores obtidos no canal analógico 0 em 4 display de 7 segmentos....
Ainda não tive tempo de trabalhar nisso novamente, mas assim que eu tiver os resultados, eu informo aqui, ok?
Um abraço....