TODOPIC

Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: sergioc_g en 11 de Agosto de 2011, 11:55:06

Título: ¿Por qué no parpadea el LED?
Publicado por: sergioc_g en 11 de Agosto de 2011, 11:55:06
He empezado con la programación en C de microcontroladores y he hecho el siguiente programa para hacer intermitencias con un LED contectado a RB1, pero no sé porque no parpadea.

#include "C:\Documents and Settings\Sergi\Datos de programa\Archivos de programa\PICC\Projects\Ejemplo_1.h"


void main()
{

   setup_adc_ports(NO_ANALOGS);
   setup_adc(ADC_CLOCK_DIV_2);
   setup_spi(SPI_SS_DISABLED);
   setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
   setup_timer_1(T1_DISABLED);
   setup_timer_2(T2_DISABLED,0,1);

   // TODO: USER CODE!!
 disable_interrupts(GLOBAL);
 #bit RB1 = 0x06.1
 #use fast_io(B)
   set_tris_B(0b11111101);
 do{
 output_high(RB1);
 delay_ms(1000);
 output_low(RB1);
 delay_ms(1000);
 }while (1);
}
Título: Re: ¿Por qué no parpadea el LED?
Publicado por: KALLITOS en 11 de Agosto de 2011, 12:06:38
Hola, por aqui (http://www.todopic.com.ar/foros/index.php?topic=4530.0) encontraras muchos ejemplos.

saludos
Título: Re: ¿Por qué no parpadea el LED?
Publicado por: soymoe en 11 de Agosto de 2011, 12:27:51
Lo que te falta en los fuses es definir la frecuencia de reloj para el retardo. No se con que pic estas trabajando, tendrias que ver al programar el pic que configures bien el tipo de oscilador que queres usar y la frecuencia a la que vas a trabajar.
Título: Re: ¿Por qué no parpadea el LED?
Publicado por: BrunoF en 11 de Agosto de 2011, 14:36:58
Estas utilizando mal la funcion output_x(PIN).

En la misma "PIN" adquiere un valor constante definido en el .h del uC definido. Por lo tanto, seria valido hacer: output_high(PIN_B1) ya que PIN_B1 es una constante definida en el .h incluido...

Saludos.