1. Configuración del reloj
El esquema de reloj es distinto al de su antecesor [pag. 29]. Usando un cristal de 16 MHz, este es el camino que debe estar habitado para conseguir los 48 MHz:
Click para agrandar |
#pragma config PLLSEL = PLL3X
#pragma config CFGPLLEN = OFF // ver Tabla 3-3
#pragma config CPUDIV = NOCLKDIV
#pragma config FOSC = HSM
#pragma config PCLKEN = ON
Los pines RB0 y RD0 son usados por el módulo ADC por lo que deben desactivarse para ellos. En el caso del puerto B, esto puede hacerse al generar la cabecera de fuses con la linea:
#pragma config PBADEN = OFF
Para el caso de RDO deberá hacerse en el código principal escribiendo en el registro ANSELD [la tabla con todos los registros de función especial está en la página 84 de la datasheet] :
3 Código completo en C
Como regla general siempre se debe leer en puerto y escribir en latch: