TODOPIC

Microcontroladores PIC => dsPIC => Mensaje iniciado por: kaos_XIII en 08 de Noviembre de 2012, 14:01:50

Título: dsPIC30F4011 salida digital PORTB
Publicado por: kaos_XIII en 08 de Noviembre de 2012, 14:01:50
Buenas,

He buscado por el foro y no he encontrado un problema similar al mio, si lo hay y no lo he encontrado disculpad.

Mi problema es el siguiente:

Los PINS RB4 y RB6 siempre los tengo a 0. Son los únicos dos pins del PORTB que no sacan los 5V.

Mi codigo es:

#include "p30fxxxx.h"

_FOSC(CSW_FSCM_OFF & XT_PLL8);
_FWDT(WDT_OFF);
_FGS(CODE_PROT_OFF);

int main (void) {

// Configurar puertos
   ADPCFG = 0xFFFF; // PORTB como salida digital.

   TRISBbits.TRISB0 = 0;
   TRISBbits.TRISB1 = 0;
   TRISBbits.TRISB2 = 0;
   TRISBbits.TRISB3 = 0;
   TRISBbits.TRISB4 = 0;
   TRISBbits.TRISB5 = 0;
   TRISBbits.TRISB6 = 0;
   TRISBbits.TRISB7 = 0;
   TRISBbits.TRISB8 = 0;

        //Poner a 1 todas las salidas.
        PORTBbits.RB0 = 0;
        PORTBbits.RB1 = 0;
        PORTBbits.RB2 = 0;
        PORTBbits.RB3 = 0;
        PORTBbits.RB4 = 0;
        PORTBbits.RB5 = 0;
        PORTBbits.RB6 = 0;
        PORTBbits.RB7 = 0;
        PORTBbits.RB8 = 0;

        while(1);

}


Gracias.
Título: Re: dsPIC30F4011 salida digital PORTB
Publicado por: KALLITOS en 08 de Noviembre de 2012, 14:12:10
Hola, prueba con lo siguiente

ADPCFG = 0xFFFF; // PORTB como salida digital.
TRISB = 0;
LATB = 0xFFFF;

los registros Rxx son para lectura, los registros LAT son para escritura.

saludos.
Título: Re: dsPIC30F4011 salida digital PORTB
Publicado por: kaos_XIII en 08 de Noviembre de 2012, 14:18:01
Hola, prueba con lo siguiente

ADPCFG = 0xFFFF; // PORTB como salida digital.
TRISB = 0;
LATB = 0xFFFF;

los registros Rxx son para lectura, los registros LAT son para escritura.

saludos.

Lo he probado y no funciona. Gracias.
Título: Re: dsPIC30F4011 salida digital PORTB
Publicado por: KALLITOS en 08 de Noviembre de 2012, 14:26:26
int main (void) {

// Configurar puertos
   ADPCFG = 0xFFFF; // PORTB como salida digital.

   TRISB = 0;
   LATB = 0xFFFF;

  while(1)
     {

     }

}
Título: Re: dsPIC30F4011 salida digital PORTB
Publicado por: kaos_XIII en 08 de Noviembre de 2012, 14:28:10
int main (void) {

// Configurar puertos
   ADPCFG = 0xFFFF; // PORTB como salida digital.

   TRISB = 0;
   LATB = 0xFFFF;

  while(1)
     {

     }

}

Tengo puesto ya un while(1); en mi codigo, se me ha olvidado ponerlo aqui al pasar el código. (Ya lo he modificado en el 1 post)


Gracias.

Título: Re: dsPIC30F4011 salida digital PORTB
Publicado por: KALLITOS en 08 de Noviembre de 2012, 14:33:36
verifica tu hard, sino cambia de micro.
Título: Re: dsPIC30F4011 salida digital PORTB
Publicado por: kaos_XIII en 08 de Noviembre de 2012, 19:11:12
He verificado el código en otra placa, y en esa funciona.

Al final sera el dsPIC que esta mal o alguna pista o via que he soldado mal xDD.

Mucha gracias.
Título: Re:dsPIC30F4011 salida digital PORTB
Publicado por: elnandu en 18 de Noviembre de 2016, 15:16:05
Me paso algo similar con el dsPIC, debido a que uno de los pines del cristal de cuarzo estaba haciendo falso contacto con el microcontrolador.