TODOPIC
Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: jorgevert en 10 de Diciembre de 2003, 00:11:00
-
TENGO PROBLEMAS CON EL SIGUIENTE CODIGO NO OBTENGO QUE FUNCIONE EL CONVERSOR A/D.
#include <16F877.h>
#device ADC=8
#include <STDLIB.H>
#fuses XT,NOWDT,NOPROTECT,NOPUT,NOBROWNOUT,NOLVP
#use delay(clock=4000000)
int8 VALUE;
void main ()
{
SET_TRIS_D(0X00);
SET_TRIS_A(0X01);
SET_TRIS_B(0X00);
setup_adc(ADC_CLOCK_INTERNAL);
setup_adc_ports(RA0_ANALOG);
set_adc_channel(0);
enable_interrupts(global);
enable_interrupts(INT_AD);
read_adc(ADC_START_ONLY);
while(true);
}
#INT_AD
Conversion_Ad()
{
VALUE= READ_ADC(ADC_READ_ONLY);
OUTPUT_B(VALUE);
OUTPUT_D(VALUE);
delay_us(100);
read_adc(ADC_START_ONLY);
}
CUALQUIER RESPUESTA SERA BIEN RECIBIDA
GRACIAS.
-
Jorge me podrías indicar para qué sirve ADC_START_ONLY, he estado mirando la función read_adc() y no lo veo.
Creo que la función read_adc() se debe usar asignándola a una variable. Lee el valor de la conversión y este se asigna a una variable.
Me voy al "curro" (trabajo), esta tarde lo volveré a mirar.
Un saludo
-
HOLA POCHER
DE LA AYUDA DEL CCS ME INDICA QUE LA OPCION ADC_START_ONLY INICIA
UNA CONVERSION EN EL ADC Y NO DEVUELVE NADA ESTO LO HAGO PARA LEER CUANDO ESTE LISTA LA
CONVERSION EN LA RUTINA DE INTERRUPCION.
SALUDOS
-
Que version utilizas??
Yo no encuentro eso en la ayuda, igual que Pocher....
-
En la IDE versión 3.36 (PCB,PCM,PCH version 3.168):
READ_ADC()
Syntax: value = read_adc ([mode])
Parameters: mode is an optional parameter. If used the values may be:
ADC_START_AND_READ (this is the default)
ADC_START_ONLY (starts the conversion and returns)
ADC_READ_ONLY (reads last conversion result)
Returns:
Either a 8 or 16 bit int depending on #DEVICE ADC= directive.
...
Saludos!
-
Jorge, estuve provando el programa en PROTEUS y funciona perfectamente. Cuando pueda te lo pruebo físicamente.
Un saludo
-
También funciona. ¡¡¡Comprobado!!!
Por cierto, alguién tiene un .pdf (castellano o inglés) con el manual de la versión PCWH 3168 o superior.
-
Hola Pocher...
En el maletín de C hay un manual, pero me temo que es de una versión anterior, por las dudas míralo.
Un abrazo...
marmatar