Autor Tema: 16f628a lento?  (Leído 2967 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado elfrancho

  • PIC16
  • ***
  • Mensajes: 101
16f628a lento?
« en: 16 de Septiembre de 2010, 11:46:51 »
Una vez que grabo el micro, cuando lo pongo en la placa, funciona el programa pero muuuuuuy lento...

Por ejemplo prendo un led con  B5 en 1, pongo delay_ms(100) y lugo apago el led...  pero en lugar de 100 ms, demora una eternidad, lo hace LEEEEEEEENTO...  COMO CADA 10 SEGUNDOS hace el cambio...



aqui el codigo

#include <16F628A.h>

#FUSES NOWDT                    //No Watch Dog Timer
#FUSES INTRC_IO                 //Internal RC Osc, no CLKOUT
#FUSES NOPUT                    //No Power Up Timer
#FUSES NOPROTECT                //Code not protected from reading
#FUSES BROWNOUT                 //Reset when brownout detected
#FUSES MCLR                     //Master Clear pin enabled
#FUSES NOLVP                    //No low voltage prgming, B3(PIC16) or B5(PIC18) used for I/O
#FUSES NOCPD                    //No EE protection

#use delay(clock=4000000)
#use rs232(baud=300,parity=N,xmit=PIN_B2,rcv=PIN_B1,bits=8)

void main()
{

   setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
   setup_timer_1(T1_DISABLED);
   setup_timer_2(T2_DISABLED,0,1);
   setup_comparator(NC_NC_NC_NC);
   setup_vref(FALSE);
   setup_oscillator(False);
   set_tris_a (00000000);
   set_tris_B (00000000);
   

   // TODO: USER CODE!!
   while (1){
      delay_ms(100);
      output_high(pin_B5);
      delay_ms(100);
      output_low(pin_B5);
   }

}

Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: 16f628a lento?
« Respuesta #1 en: 16 de Septiembre de 2010, 12:20:32 »
Configura el oscilador interno, no le coloques false.


Saludos!
No contesto mensajes privados, las consultas en el foro

Desconectado elfrancho

  • PIC16
  • ***
  • Mensajes: 101
Re: 16f628a lento?
« Respuesta #2 en: 16 de Septiembre de 2010, 12:43:05 »
Configura el oscilador interno, no le coloques false.


Saludos!

Gracias.. pero soy nuevo en ccs....  que deberia poner en lugar de false???

Desconectado elfrancho

  • PIC16
  • ***
  • Mensajes: 101
Re: 16f628a lento?
« Respuesta #3 en: 16 de Septiembre de 2010, 13:00:14 »
SOLUCIONADO!!!!!!


   setup_oscillator(OSC_4MHZ);


ESTO ERA LO QUE FALTABA


Ahora OTRAAAAA CONSULTA !!!!!

El pin Tx cuando no transmite nada està en 1....  y en este pin tengo un transmisor RF de 433mhz...  el cual queda constantemente transmitiendo el 1 por lo tanto calienta un poco...  que puedo hacer al respecto!!!! ???


Saludos amigos y gracias por su ayuda -111

Desconectado jhozate

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1698
Re: 16f628a lento?
« Respuesta #4 en: 16 de Septiembre de 2010, 13:20:36 »
Estas visualizando siempre un 1 en la transmision??.. o estas probando que esta a 1 el pin?,
Ser Colombiano es un Premio, Saludos desde CALI-COLOMBIA

Desconectado elfrancho

  • PIC16
  • ***
  • Mensajes: 101
Re: 16f628a lento?
« Respuesta #5 en: 16 de Septiembre de 2010, 15:15:34 »
he agregado a mi código:

 while (1){
  delay_ms(500);
  printf("hola mundo");       
}

y el pin Tx del pic transmite perfectamente (lo veo en el osciloscopio)

El problema es que cuando el pic NO ESTÁ TRANSMITIENDO, tx se mantiene en valor alto (5v)  y el transmisosr de RF queda transmitiendo un 1 y calienta)....

La pregunta es si si puede hacer que en reposo (sin transmision) el pin tx esté en 0

Saludos !!!!

Desconectado jhozate

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1698
Re: 16f628a lento?
« Respuesta #6 en: 16 de Septiembre de 2010, 15:26:49 »
desconozco si es normal en esos modulos algun calentamiento moderado. El estado de la linea por protocolo es 1. Pero no es que se este transmitiendo ese 1 siempre, la transmision inicia despues del bit de inicio.
Ser Colombiano es un Premio, Saludos desde CALI-COLOMBIA