TODOPIC
Microcontroladores PIC => dsPIC => Mensaje iniciado por: zer0007 en 30 de Noviembre de 2005, 09:53:00
-
Tengo un dspic 30f6014A y el puerto b no me funciona correctamente en modo digital.
Ese mismo programa me funcionaba correctamente en un 30f6014. El problema es que en el puerto b tengo conectado un display, y en el 30F6014A no se iniciaba, indagando me he dado cuenta que si 1 configuro como digital el puerto, configuro como salida el puerto, pongo todos los pins a 1, no todos se ponen a uno lo hace uno si, otro no, uno si otro no...
Muy curioso en cambio en el sin A no me pasa.
Si, si, he cambiado el device en el mplab, la libreria y el gld.
Que puede ser ??
Uno de los codigos que pruebo es este y el b11 ni se mueve.
#include <P30F6014a.H>
_FOSC(CSW_FSCM_OFF & XT); // Con oscilador 8 y PLL a 0, reloj a prueba de errores
_FWDT(WDT_OFF); // Watchdog timer diabled
_FBORPOR(PBOR_OFF & MCLR_EN); // Brown-out reset disabled, MLCR reset enabled
_FGS(CODE_PROT_OFF) // Code protect disabled
int main(void)
{
ADPCFG = 0xffff;
TRISBbits.TRISB11 = 0;
TRISBbits.TRISB10 = 0;
TRISBbits.TRISB9 = 0;
TRISBbits.TRISB8 = 0;
TRISBbits.TRISB12 = 0;
TRISBbits.TRISB13 = 0;
TRISBbits.TRISB14 = 0;
PORTBbits.RB14 = 0;
PORTBbits.RB13 = 0;
PORTBbits.RB12 = 0;
PORTBbits.RB11 = 1;
PORTBbits.RB10 = 0;
PORTBbits.RB9 = 0;
PORTBbits.RB8 = 0;
while(1){
}
}
-
He descubierto que si trabajo con el puerto entero funciona si lo hago pin a pin no ¿?
-
Curiosamente si trabajo con el latch en lugar de con port funciona ¿? Y lo que es mas raro es que en el otro micro el 30f6014 funcionaba con port, no hacia falta trabajar con latch, el 30f6014 es a 30 mips y el 30f6014a a 20.
Gracias
-
Pues me pasaba algo parecido con el portb del 30F6012. Hasta que he descubierto que sin el comando ADPCFG = 0xFFFF; no funciona, me he pegado unas pocas horas.
Si tu programa funciona con el LAT, pues no te compliques y utiliza este.