Estoy usando un PIC 16F887 y me gustaría usar el oscilador interno HFINTOSC. Para lograr esto, establezco los bits de IRCF 2: 0 en 110 (preescalado de 4Mhz) y los bits de configuración FOSC 2: 0 en INTOSC.
Ahora debería hacer algo que realmente no puedo entender: de acuerdo con la hoja de datos (ver pág. 61), debo configurar el bit SCS para usar la fuente de reloj interna (vea el MUX final en el diagrama en pag. 61). Debido a que el bit SCS está en el registro OSCON, debería configurarlo programáticamente en mi código, ¡pero el código en sí necesita una fuente de reloj para ser ejecutado! ¿Cómo puedo ejecutar un código para configurar un bit para usar un reloj si el código necesita una fuente de reloj en primer lugar?
Cito la hoja de datos para el bit SCS:
4.6.1 BIT DE SELECCIÓN DE RELOJ DEL SISTEMA (SCS) El bit de selección de reloj del sistema (SCS) del registro OSCCON selecciona la fuente de reloj del sistema que se utiliza Para la CPU y periféricos. • Cuando el SCSbitoftheOSCCONregister = 0, el la fuente del reloj del sistema está determinada por la configuración del FOSC < 2: 0 > bits en el Registro de Palabra de Configuración 1 (CONFIG1). • Cuando el SCSbitoftheOSCCONregister = 1, se elige la fuente del reloj del sistema por la frecuencia del oscilador interno seleccionada por el IRCF < 2: 0 > pedazos de El registro OSCCON. Después de un reinicio, el bit SCS del registro OSCCON siempre se borra.