Autor Tema: BUG no ccs com o 18F2685  (Leído 1540 veces)

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

Desconectado tretas

  • PIC10
  • *
  • Mensajes: 15
BUG no ccs com o 18F2685
« en: 20 de Junio de 2010, 07:53:40 »
Ola

estou a usar o seguinte codigo para fazer um "blinking" so que tenho a impressao que a função "   delay_ms(1000); " não é um atrazo de 1segundo mas sim de 18 segundos ... onde esta o meu problema ?

Código: [Seleccionar]
#include <18F2685.h>
#device adc=8

#FUSES NOWDT                    //No Watch Dog Timer
#FUSES WDT128                   //Watch Dog Timer uses 1:128 Postscale
#FUSES LP                       //Low power osc < 200 khz
#FUSES NOPROTECT                //Code not protected from reading
#FUSES NOBROWNOUT               //No brownout reset
#FUSES BORV20                   //Brownout reset at 2.0V
#FUSES NOPUT                    //No Power Up Timer
#FUSES NOCPD                    //No EE protection
#FUSES STVREN                   //Stack full/underflow will cause reset
#FUSES NODEBUG                  //No Debug mode for ICD
#FUSES NOLVP                    //No low voltage prgming, B3(PIC16) or B5(PIC18) used for I/O
#FUSES NOWRT                    //Program memory not write protected
#FUSES NOWRTD                   //Data EEPROM not write protected
#FUSES IESO                     //Internal External Switch Over mode enabled
#FUSES FCMEN                    //Fail-safe clock monitor enabled
#FUSES PBADEN                   //PORTB pins are configured as analog input channels on RESET
#FUSES BBSIZ4K                  //4K words Boot Block size
#FUSES NOWRTC                   //configuration not registers write protected
#FUSES NOWRTB                   //Boot block not write protected
#FUSES NOEBTR                   //Memory not protected from table reads
#FUSES NOEBTRB                  //Boot block not protected from table reads
#FUSES NOCPB                    //No Boot Block code protection
#FUSES LPT1OSC                  //Timer1 configured for low-power operation
#FUSES MCLR                     //Master Clear pin enabled
#FUSES NOXINST                  //Extended set extension and Indexed Addressing mode disabled (Legacy mode)

#use delay(clock=20000000)
#use rs232(baud=9600, parity=N, xmit=PIN_C6, rcv=PIN_C7, STOP=1, BITS=8)// ,TIMEOUT = 1000)

#define LED PIN_A0  //CHANGE PIN_XX TO YOUR LED PIN NUMBER, EX: PIN_A5

void main()
{

   setup_adc_ports(NO_ANALOGS|VSS_VDD);
   setup_adc(ADC_CLOCK_DIV_2|ADC_TAD_MUL_0);
   setup_spi(SPI_SS_DISABLED);
   setup_wdt(WDT_OFF);
   setup_timer_0(RTCC_INTERNAL);
   setup_timer_1(T1_DISABLED);
   setup_timer_2(T2_DISABLED,0,1);
   setup_ccp1(CCP_OFF);
   setup_vref(FALSE);

    //Example blinking LED program
    while(input (PIN_A5) ){
      printf (" LED APAGADO");
      output_low(LED);
      delay_ms(1000);
      output_high(LED);
       printf (" LED ACESSO");
      delay_ms(1000);
    }

}


Cumprimentos

Zé tretas

Desconectado bmb

  • PIC18
  • ****
  • Mensajes: 423
Re: BUG no ccs com o 18F2685
« Respuesta #1 en: 20 de Junio de 2010, 09:20:09 »
Hola tretas, veo que tienes configuradas estas dos líneas en tu código:

#FUSES LP                       //Low power osc < 200 khz
#use delay(clock=20000000)

Asumiendo que tienes un cristal de 20MHz, debes cambiar la primera línea que te mencioné por la siguiente:

#FUSES HS                       //High speed Osc (> 4mhz for PCM/PCH) (>10mhz for PCD)

S por el contrario estás trabajando con un oscilador menor de 200KHz, entonces debes cambiar la segunda línea que te mencioné por una con el valor correcto del clock que estás usando.

Lo que ocurre es que la instrucción #use_delay(clock= ) la utiliza el CCS para habilitar el uso de las funciones internas delay_ms() y delay_us() y si no le colocas la velocidad de clock correcta vas a tener tiempos de respuesta erroneos.

Por otro lado veo que estás usando el pin A0 como salida para el LED y al parecer usas el pin A5 como entrada para iniciar el ciclo;  en este caso también deberias utilizar la instrucción set_tris_A() para configurar correctamente los pines.

Saludos,

Bernardo
« Última modificación: 20 de Junio de 2010, 10:30:25 por bmb »

Desconectado tretas

  • PIC10
  • *
  • Mensajes: 15
Re: BUG no ccs com o 18F2685
« Respuesta #2 en: 20 de Junio de 2010, 11:57:48 »
Ola,

vou experimentar com as tuas alterações ... é mesmo um erro de iniciante .... so que não fiz atenção ao #fuses porque foi o PIC WIZARD do ccs que o generou logo deveriam estar bons

Cumprimentos

Zé tretas



Desconectado tretas

  • PIC10
  • *
  • Mensajes: 15
Re: BUG no ccs com o 18F2685
« Respuesta #3 en: 20 de Junio de 2010, 15:42:15 »
ola,


bmb ... obrigada era mesmo isso

Cumprimentos


Desconectado bmb

  • PIC18
  • ****
  • Mensajes: 423
Re: BUG no ccs com o 18F2685
« Respuesta #4 en: 20 de Junio de 2010, 17:23:21 »
Hola tretas, es con mucho gusto...