Estoy intentando obtener un PIC12F1822 para ejecutar a 32 MHz. Aquí están los bits relevantes de código:
__CONFIG _CONFIG1, _FOSC_INTOSC & _WDTE_OFF & _PWRTE_OFF & _MCLRE_ON & _CP_OFF & _CPD_OFF & _BOREN_OFF & _CLKOUTEN_OFF & _IESO_OFF & _FCMEN_OFF
__CONFIG _CONFIG2, _WRT_OFF & _PLLEN_ON & _STVREN_OFF & _BORV_19 & _LVP_OFF
MOVLW b'11110000' ; 32MHz HFINTOSC
BANKSEL OSCCON
MOVWF OSCCON
BANKSEL OSCSTAT
btfss OSCSTAT, HFIOFR ; Is internal oscillator running?
goto $-1
btfss OSCSTAT, HFIOFL ; Is internal oscillator locked?
goto $-1
BANKSEL TRISA
CLRF TRISA
BANKSEL PORTA
ON
BSF PORTA,2 ; 1 cycle
GOTO OFF ; 2 cycles
OFF
BCF PORTA,2 ; 1 cycle
GOTO ON ; 2 cycles
Estoy obteniendo una onda cuadrada de 1,33 MHz de PORTA, 2, lo que significa que el reloj funciona a 8MHz ... Sin embargo, el PLL definitivamente funciona, como si lo apagara, la frecuencia cae a 333KHz (2MHz)
Según el depurador (PicKit3), OSCCON está obteniendo el valor correcto.
El chip se ejecuta a 5 V.
¿Alguna idea?