Si además quieres enviarnos un Artículo para el Blog y redes sociales, pulsa el siguiente botón:
Buenas, llevo toda la santa tarde tratando de deshabilitar el módulo USB, y no hay forma... Me ha costado hasta dar con el problema, pues justo en el puerto C en los pines 4 y 5 tengo 2 leds puestos, y no había forma de que encendiesen... Me he puesto el micro en una placa simple, usando el oscilador interno y este código:#include <p18f4550.h>
#pragma config WDT = OFF
void main (void){
UCONbits.USBEN = 0;
TRISC = 0;
while (1) {
PORTC=0xFF;
}
}
Con eso todos los pines del puerto C se me ponen a 1 lógico, menos el 4 y el 5, que se corresponden con D+ y D- del usb... ¿Alguna idea? Me da igual que la solución sea para C18 o CCS.
Saludos.
Nada... ni caso RC4 y RC5 solo se pueden usar como entradas... eso me pasa por no leer bien el datasheet. Lo peor es que en la placa ya está hecho... Creo que usaré un 18F877 que creo que es pin a pin compatible (salvando las diferencias).
ACTUALIZACIÓN: Bueno, al final he hecho unos puentes, justo al lado de cada led tenía un pulsador, así que he cortado unas pistas y las he cruzado. Aún así, para usar RC4 y RC5 como entradas he tenido que mirar un poco más en el datasheet, finalmente, este es el código que he usado para CCS:// Registro para desactivar el módulo USB interno
#byte UCON=0xF6D
#bit USBEN=UCON.3
// Registro para desactivar el USB externo
#byte UCFG=0xF6F
#bit UPUEN=UCFG.4
#bit UTRDIS=UCFG.3
void main() {
USBEN=0;
UTRDIS=1;
}
El bit UPUEN es para activar o desactivar las resistencias de pull-up internas, pero se ve que son mucho más pequeñas que las de pull-dow que yo he colocado externas.
Ahí queda, por si sirve a alguien.
¡Saludos!