error para utilizar funciones con convertidor a/d con pic 16f887

#1
hola!!

la idea del laboratorio es hacer las luces como las del auto fantastico y la velocidad esta controlada por una foto resistencia, entre mayor intensidad de luz mayor velocidad, además hay otras velocidades que se controlan con un dip switch. La programacion funciona antes de agregarle la parte de las velocidades con el dip switch. Esta es la programacion que tngo y los errores que me generan

PHP:
#include <htc.h>
#define _XTAL_FREQ 4000000

float conversion(){
	ADCON0,GO= 1;
	unsigned char datoad = ADRESH;
	int suma;
	float Resultado;

	datoad <<8;
	suma= datoad + ADRESL;
	
	Resultado = suma/2;
	
	return(Resultado);
}


 void tiempo(){
		char a;
		
		int cantidad =coversion(); 

		for(a=0;a<=cantidad;a++)
		__delay_ms(1);
}

char leds () {
	for(int i=1;i <= 128;i*=2){
				PORTB=i;	
				tiempo ();
			}
	for(int i=128;i>=1;i/=2){
				PORTB=i;
			    tiempo ();
			}
	return (leds);		
}


void main () {
TRISB = 0;
TRISA = 255;
TRISC = 255;
ANSEL = 0X04; //PARA HABILITAR PUERTA ANALOG
ANSELH = 0;
ADCON0 = 0b11001001;
ADCON1 = 0b10000000;

int i;
	while (1) {
		leds ();

		switch (PORTC){
			case 1 :	for(i=1;i <= 128;i*=2){

						PORTB=i;			// falta la ldr
						[COLOR="red"]tiempo ()[/COLOR]/ 1024;
						}
						for(i=128;i>=1;i/=2){
						PORTB=i;
			    		[COLOR="red"]tiempo ()[/COLOR]/ 1024;
						}		
						break;
			case 2 :   for(i=1;i <= 128;i*=2){
						PORTB=i;		
						[COLOR="red"]tiempo ()[/COLOR]/2048;
						}
						for(i=128;i>=1;i/=2){
						PORTB=i;
			    		[COLOR="red"]tiempo ()[/COLOR]/2048;
						}
						break;
			default : leds ();
	 	}
	
	}
}
Código:
Error   [209]  148.16 type conflict
Error   [209]  152.16 type conflict
Error   [209]  157.15 type conflict
Error   [209]  161.15 type conflict
esos errores me los pone cada vez que utilizo la función "tiempo" dentro del switch en cada uno de los cases y ya llevo rato con esto y no se la verdad que sera por favor necesito ayuda y ya estoy desesperada :cry:
 
Última edición por un moderador:
#2
conversion() es flotante y tu variable cantidad dentro de la funcion tiempo es INT... necesitas mandar peras con peras y manzanas con manzanas...

o haces conversion() de tipo INT (lo mas recomendado) o haces cantidad tipo FLOAT
 
#3
gracias por responder.... ya corregí esa parte pero aun sigue tirando el mismo error... no estoy segura de si se puede utilizar la funcion tiempo y hacer operaciones con ella, esa es una duda que me surgió.. pero no se si sera el problema :s
 

Temas similares

Arriba