Autor Tema: Posible problema de configurations bits, ni idea...  (Leído 3680 veces)

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

Desconectado culebrasx

  • PIC10
  • *
  • Mensajes: 39
Posible problema de configurations bits, ni idea...
« en: 15 de Abril de 2010, 06:37:50 »
Hola, he recibido mis pic24fj16ga002 y me he montado el pickit2 de suky para poder programarlo(mil gracias!!! :-/)
despues de unos cuantos problemas de conexiones y unos cuantos "downloading programming executive falied" he conseguido un "programming succesful" en verde, lo verifico y parece todo ok,
He montado el pic, he puesto el MCLR  con las R a vdd, los condensadores de 100nf entre cada par VDD-VSS, compruebo voltajes y todo correcto, lo que debe en cada patila de VDD, 3.3V.

El problema no se si vendrá de los configuration bits: esta en C30 con mplab ide 8.50, en la opción de menú tengo marcada la casilla "Configurations bits set in code", quiero que use el oscilador interno a 8mhz, le indico con un cero a RB3 que sea salida, y luego escribo en su latb correspondiente, pero no se ve nada,

Será seguramente una tonteria,pero no la veo....
Muchas gracias a todos/as....

upsss!!! se me olvidaba el codigo.jejejej
Código: [Seleccionar]
#include <p24fj16ga002.h>
 _CONFIG2(FNOSC_FRC & OSCIOFNC_ON)
 _CONFIG1(FWDTEN_OFF &  WINDIS_OFF)
#define FCY 4000000UL
#include <libpic30.h>





void main(void)
{
TRISB=0xFFF0; //B0-B3 salidas, resto entradas.


ODCA=0X0000;
ODCB=0X0000;
OC1CONbits.OCTSEL=0; // TIMER2 SERA EL QUE CONTROLE PWM
OC2CONbits.OCTSEL=0;
OC3CONbits.OCTSEL=0;

RPOR0bits.RP0R=18; //RP0 CONFIGURADO COMO OC1
RPOR0bits.RP1R=19; //RP1 CONFIGURADO COMO OC2
RPOR1bits.RP2R=20; //RP2 COMO 0C3

PR2=0x9c40; //para conseguir periodo 100Hz,
OC1RS=0X00ff;  //ROJO
OC2RS=0X8c77;  //VERDE;ESTE EL EL MAXIMO(0x9c77); 40.000 colores!!!!
OC3RS=0X000f;  //AZUL
//OC1R=0X00ff;
//OC2R=0X0fff;
//OC3R=0X000f;
T2CONbits.T32=0; //QUE TIMER2 SEA DE 16 BITS UNICAMENTE
//_T2IF=1; //activa la interrupcion timer 2
_T2IE=1; //ACTIVAR  TIMER2
_OC1IF=1; //ACTIVA EL FLAG DEL OC1
_OC1IE=1; //ACTIVA EL COMPARADOR 1
_OC2IF=1;
_OC2IE=1;
_OC3IF=1;
_OC3IE=1;
//_CNIE=1; //INTERRUPCION FLAG NOTIFICATION ON CHANGE ACTIVA
OC1CON=0X007; //OC1 como pwm, pin por defecto desactivado;
//hay que configurar RPORx para definir OC1
OC2CON=0X0007; //Idem arriba pero de distinta forma
OC3CON=0X0007; //IDEM

T2CONbits.TON=1; //ACTIVAR EL TIMER2
OC1RS=0X0000;
OC2RS=0X0000;
OC3RS=0X0000;
AD1PCFG=0XFFFF; //CONFIGURAR I/0 COMO DIGITALES
AD1CON1bits.ADON=0; //ADC OFF
LATBbits.LATB3=1;
__delay_ms(500);
LATBbits.LATB3=0;
__delay_ms(500);
LATBbits.LATB3=1;

while (1)
{

__delay_us(150);


}




}


{
« Última modificación: 15 de Abril de 2010, 06:41:17 por culebrasx »

Desconectado migsantiago

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8257
    • Sitio de MigSantiago
Re: Posible problema de configurations bits, ni idea...
« Respuesta #1 en: 15 de Abril de 2010, 12:12:42 »
Hay un bug muy raro con el asunto de los configuration bits en mplab. Si los tienes declarados en el código y después los habilitas en la ventana de configuración, mplab sólo hace caso a los del código y ya no a los de la ventana.

Tienes que crear un nuevo proyecto y desde el principio decidir si usarás el código o la ventana para los configuration bits. Ya no puedes cambiar de opción, si no, tendrás que abrir un nuevo proyecto.

Desconectado culebrasx

  • PIC10
  • *
  • Mensajes: 39
Re: Posible problema de configurations bits, ni idea...
« Respuesta #2 en: 15 de Abril de 2010, 14:44:31 »
He creado un nuevo proyecto con la opción del compilador asm c30 pic30-asm.exe v3.12, después he añadido el .c y el .gld.
le he dado a buil all, suceed, program y nada.........
No he tocado nada de configuration bits, asi que estará por defecto "bits set in code", y asi lo está, no se...

Desconectado bmfranky

  • PIC16
  • ***
  • Mensajes: 165
    • La Tienda De Fran
Re: Posible problema de configurations bits, ni idea...
« Respuesta #3 en: 15 de Abril de 2010, 16:00:58 »
Prueba a programarlo directamente con el programa que trae el pickit2, tiene la opción de configurar manualmente los bits.
Visiten La Tienda De Fran ;-) Aqui. y mi nueva Web Aqui.

Desconectado migsantiago

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8257
    • Sitio de MigSantiago
Re: Posible problema de configurations bits, ni idea...
« Respuesta #4 en: 15 de Abril de 2010, 17:22:34 »
Creo que te falta activar más configuration bits. Viendo el diagrama de osciladores del PIC24 checa el camino que debe seguir la señal de reloj y los configuration bits que se van activando.

Si quieres imprime pantalla e indícanos cuáles has activado en ese diagrama (datasheet).

Desconectado culebrasx

  • PIC10
  • *
  • Mensajes: 39
Re: Posible problema de configurations bits, ni idea...
« Respuesta #5 en: 15 de Abril de 2010, 18:11:29 »

Según el esquema hay que configurar CLKDIV, 14:12 y 10:8, los 10:8, no los tenia bien configurados, tenia un ratio de 1:8, ahora los he dejado a cero para tener un ratio 1:1, y los 14:12 los he puesto a 0, aunque ya lo estaban,pero por si acaso.
"build all" en mpalb y el hex que me genera( por que si configuro manualmente los bits en pickit2 no tengo que usar la opcion de exportar,cierto?) lo  importo desde pickit2 y le configuro los bits de la siguiente forma:


y nada....

( me equivocado el bit5 del CW2 deja como I/O OSCI, es el bit7 de cw1 el que desactiva WDT)
hay veces que el grabador me da un error " programming executive failed" pero lo vuelvo a intentar y me dice sucesfull, luego le doy a "read" y parece estar todo ok,
estoy mirando pero no consigo ver la tonteria que se me escapa, muchas gracias a todos/as por la ayuda aportada hasta el momento, a ver si sale....jejejejej ;-)
« Última modificación: 15 de Abril de 2010, 18:30:42 por culebrasx »

Desconectado culebrasx

  • PIC10
  • *
  • Mensajes: 39
Re: Posible problema de configurations bits, ni idea...
« Respuesta #6 en: 15 de Abril de 2010, 19:07:31 »
creo que el problema esta en la parte del pwm, ya que he quitado todo esa parte de código y si que funciona, estoy mirando que puede ser,...en cuanto lo averigüe lo posteo ...

Desconectado migsantiago

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8257
    • Sitio de MigSantiago
Re: Posible problema de configurations bits, ni idea...
« Respuesta #7 en: 15 de Abril de 2010, 19:33:39 »
¿Esta sección no debería ser 8MHz?

Código: [Seleccionar]
#define FCY 4000000UL
También podrías probar apagando el oscilador primario

Código: [Seleccionar]
_CONFIG2(POSCMOD_NONE...

Desconectado culebrasx

  • PIC10
  • *
  • Mensajes: 39
Re: Posible problema de configurations bits, ni idea...
« Respuesta #8 en: 15 de Abril de 2010, 20:24:05 »
sigo probando cosas, he anulado el primary,pero creo que todo viene de la config del pwm,
en cuanto a lo de FCY, creo que he de poner 4MHz, ya que divide por dos la entrada, siendo esta de 8MHz:

The processor clock source is divided by two to pro-
duce the internal instruction cycle clock, FCY. In this
document, the instruction cycle clock is also denoted
by FOSC/2. The internal instruction cycle clock, FOSC/2,
can be provided on the OSCO I/O pin for some
operating modes of the primary oscillator.

pero solo lo creo,jejejje, si saco que tenia mal lo pongo enseguida,

Desconectado migsantiago

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8257
    • Sitio de MigSantiago
Re: Posible problema de configurations bits, ni idea...
« Respuesta #9 en: 15 de Abril de 2010, 20:34:14 »
No, eso dice que la velocidad del CPU es igual a la velocidad del oscilador entre 2.

Si el oscilador tiene 8MHz, el CPU corre a 4MIPS.

¿Qué velocidad para el CPU requieres? ¿Qué velocidad para los timers requieres?

Desconectado culebrasx

  • PIC10
  • *
  • Mensajes: 39
Re: Posible problema de configurations bits, ni idea...
« Respuesta #10 en: 16 de Abril de 2010, 12:31:26 »
Hola, migsantiago, yo sigo pensando que el ciclo de instrucción es la mitad de mi fuente principal de oscilación,8MHz en este caso,
traduciendo un poco:
"la fuente  de reloj del procesador es dividida por dos para producir el reloj de ciclo de intruccion,FCY,, en este documento también llamado FOSC/2, por lo FCY es el resultado de dividir el reloj por dos..
pero mi inglés no se si será todo lo bueno que me gustaría así que no pongo la mano en el fuego...jjejejej

el caso es que al final funcionar, funciona, tengo algunos problemas con el pwm(en mplab si que me carga oc1rs al final del ciclo pero en la realidad parece que no), estoy intentándolo sacar, si veo que no lo consigo abriré otro hilo con su titulo que lo describa, y cuando lo tenga resuelto pondré el código aquí por si a alguien le puede servir después..
sigo intentándolo...
 ;-)

Desconectado culebrasx

  • PIC10
  • *
  • Mensajes: 39
Re: Posible problema de configurations bits, ni idea...
« Respuesta #11 en: 17 de Abril de 2010, 03:36:17 »
parece ser que hay que configurar la interrupcion del timer 2 y crear la rutina de interrupcion, aunque esta no haga nada, pero por lo menos que exista y simplemente que ponga a cero el flag de la misma, era eso lo que me pasaba:

void _ISRFAST _T2Interrupt( void)
{
   _T2IF = 0;               // clear interrupt flag
} //T3Interrupt