Es muy corriente entre los primerizos, y aún entre los expertos, cometer cierto tipo de errores que son de fácil solución pero que sólo después de haberlos vivido se tienen en cuenta antes de enfrentar un nuevo diseño. Pero somo animales que tropezamos múltiples veces en la misma piedra.
Uno de de los errores mas usuales consiste en dar por supuesto el estado, funcionamiento y/o configuración, de un cierto pin de cualquier puerto tras un Power On Reset, o sea justo despues de haber dado la corriente a nuestro PIC.
Este error se comete fundamentalmente por dos causas:
- La primera y principal es la de no haber leído el Datasheet del Micro que estamos usando.
- La segunda causa es la de sin leer tampoco el datasheet suponer erróneamente, y la mayoria de las veces inconscientemente, que dicho estado o funcionamiento es igual al de ese otro PIC de la misma o parecida serie con el que hemos trabajado mucho y que nos conocemos al dedillo.
Por ejemplo: Supongamos que hasta ahora he trabajado mucho con el 16F877 y empiezo ha hacerlo ahora con el 18F4550. No es extraño encontrarnos con que la mitad del PORTB no funciona. En el 16F877 todo el PORTB se inicia como Entradas Digitales mientras que en el 18F4550 más de la mitad de dicho puerto, RB0:RB4, lo hace como Entrada Analógica mientras el resto, RB5:RB7 está efectivamente configurado como Entrada Digital.
Estas situaciones son tan usuales que hasta la propia
Microchip toma medidas especiales en sus Datasheets enmarcando, destacando y cambiando el color del fondo en sus comentarios al respecto. Si editáis cualquier PDF de un PIC podréis encontrar en cada epígrafe de cada puerto un rectángulo "Note" con estas circunstancias a las que nos estamos refiriendo.
Es mi intención pues también remarcar en este post estos comentarios o notas, no solo con el fin de tenerlas en cuenta con respecto al 18F4550 del que trata el hilo, sino en cualquier otro PIC con el que trabajéis. He seleccionado el 4550 porque es con el que trabajo más a menudo, sirva por tanto de ejemplo.
PORTAEn POR los pines RA0 a RA3 del PORTA se configuran como Entradas Analógicas, el pin RA4 como entrada digital.
PORTBEn POR los pines RB0 a RB4 del PORTB se configuran como Entradas Analógicas, los pines RB5 a RB7 como entradas digitales. Pero se puede utilizar el fuse PBADEN para que RB0 a RB4 se inicialicen en POR como entradas digitales también. Si no se especifica serán al POR analogicos.
PORTCTodo el PORTC se configura en POR como entradas digitales.
PORTDTodo el PORTD se configura en POR como entradas digitales.
Cuando ponemos en marcha el módulo PWM se deshabilita automáticamente el SSP del PORTD.
PORTEEn POR los pines RE0 a RE2 del PORTE se configuran como Entradas Analógicas.
En POR el pin RE3 del PORTE se configura como Entradas Digital solo si tenemos deshabilitado el Master Clear Reset.
Ea, hasta la próxima.