TODOPIC
Microcontroladores PIC => dsPIC => Mensaje iniciado 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.
-
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.
-
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.
-
int main (void) {
// Configurar puertos
ADPCFG = 0xFFFF; // PORTB como salida digital.
TRISB = 0;
LATB = 0xFFFF;
while(1)
{
}
}
-
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.
-
verifica tu hard, sino cambia de micro.
-
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.
-
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.