.Escrito originalmente por RxTx
Buenas tardes a todos.
Soy nuevo en esto de programar pics y estoy teniendo un problema con el programa que estoy haciendo.
Para empezar los delay de 5 segundos que estoy usando me lo hace pero no durante 5 segundos sino unos 20 o asi y si les pongo un retardo menor no me hace nada de nada, ¿por que puede ser?
Cita:
¿Cuanto tarda en hacer la conversion A/D el pic?
Cita:
Otra cuestión, como veis en el código uso las entradas analogicas A0 y A1 y el resto A2...A5 las configuro como salidas digitales, ¿se puede hacer esto o habría algun problema?
Cita:Codigo:
#include <16F876A.h>
#device adc=10
#fuses XT,NOPROTECT,NOPUT,NOWDT,NOBROWNOUT,NOLVP,NOCPD
#use delay (clock=8000000)
Cita:Codigo:
void analog(int fun, float &pri, float &sec)
{
long valor;
set_adc_channel (0);
valor = read_adc();
pri= valor*(5.0/1024.0);
if(fun=1){
pri= valor*(5.0/1024.0);
set_adc_channel (1);
valor = read_adc();
sec= valor*(5.0/1024.0);
}
}
Cita:Codigo:
void main( void )
{
float aux1;
float aux2;
int aux;
set_tris_a(0x03);
set_tris_b(0xFC);
setup_adc_ports(RA0_ANALOG);
setup_adc (ADC_CLOCK_INTERNAL);
aux=1;
aux1=0;
aux2=0;
while(1){
delay_ms(5000);
analog(aux,aux2,aux1);
if(aux2>=2.5){
output_high(PIN_B0);
}
if(aux1>=2.5){
output_high(PIN_B1);
}
delay_ms(5000);
output_low(PIN_B0);
output_low(PIN_B1);
}
}