¿Qué es el reloj interno stcf11f04?
Luego use la siguiente función como función de inicialización del reloj del sistema
void RCC_Configuration(void)
{
RCC_DeInit();//Restablecer los registros RCC periféricos al valor predeterminado
RCC_HSICmd(ENABLE);
while(RCC_GetFlagStatus(RCC_FLAG_HSIRDY) == RESET) ;//esperar a que HSI se habilite correctamente
//FLASH_ PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable);
//FLASH_SetLatency(FLASH_Latency_2);
RCC_HCLKConfig(RCC_SYSCLK_Div1
RCC_PCLK1Config(RCC_HCLK_Div2);
RCC_PCLK2Config(RCC_HCLK_Div1
//Establece la fuente de reloj PLL y el factor de multiplicación de frecuencia
<); p>RCC_PLLConfig (RCC_ PLLSource_HSI_Div2, RCC_PLLMul_2); // Habilita o deshabilita el PLL, este parámetro puede ser ENABLE o DISABLERCC_PLLCmd(ENABLE); no se puede deshabilitar
//Espere a que el indicador RCC especificado se establezca correctamente.
El bit de bandera RCC se establece correctamente y espera a que la inicialización del PLL sea exitosa
while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET
//Configure el reloj del sistema (SYSCLK); y configure el PLL como fuente del reloj del sistema
RCC_ SYSCLKConfig(RCC_SYSCLKSource_PLLCLK); // Seleccione el reloj del sistema requerido
// Espere a que el PLL se utilice correctamente como fuente del reloj. del reloj del sistema
// 0x00:
//0x00: Usar HSI como reloj del sistema
//0x04: Usar HSE como reloj del sistema
//0x08: use PLL como reloj del sistema
while(RCC_GetSYSCLKSource() != 0x08); //debe corresponder al reloj del sistema seleccionado, RCC_SYSCLKSource_PLL
}
void: RCC_SYSCLKSource() !
void RCC_Configuration(void)
{
RCC_DeInit() //Restablecer el periférico RCC se registra con el valor predeterminado
RCC_HSICmd (ENABLE); //Habilitar HSI
while(RCC_GetFlagStatus(RCC_FLAG_HSIRDY) == RESET); //Espera a que HSI se habilite correctamente
p>//FLASH_ PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable);
//FLASH_SetLatency(FLASH_Latency_2);
RCC_HCLKConfig(RCC_SYSCLK_Div1);
RCC_PCLK1Config(RCC_HCLK_Div2) ;
RCC_PCLK2Config(RCC_HCLK_Div1);
//Establecer la fuente del reloj PLL y el factor de multiplicación
RCC_PLLConfig(RCC_ PLLSource_HSI_Div2, RCC_PLLMul_2); el PLL, este parámetro puede ser ACTIVADO o DESACTIVADO
RCC_PLLCmd(ENABLE); //Si el PLL se usa para el reloj del sistema, no se puede deshabilitar
/Esperando lo especificado El bit de bandera RCC se establecerá correctamente. RCC_FlagStatus(RCC_FLAG_PLLRDY)==RESET);
/Configure el reloj del sistema (SYSCLK) y configure el PLL como fuente del reloj del sistema
RCC_SYSCLKConfigure(ENABLE); se utiliza para el reloj del sistema, no se puede desactivar
Esperando que el indicador RCC especificado se establezca correctamente.
SYSCLKConfig(RCC_SYSCLKSource_PLLCLK); //Seleccione el reloj del sistema deseado
// Espere a que el PLL se utilice correctamente como fuente de reloj para el reloj del sistema
/ / 0x00: HSI como el reloj del sistema
/ / 0x04: HSE como reloj del sistema
/ // 0x08: PLL como reloj del sistema
while(RCC_GetSYSCLKSource() != if Si se selecciona el reloj interno como reloj del sistema, su frecuencia multiplicadora no podrá alcanzar los 72 Mhz y solo podrá alcanzar los 8 Mhz/2*16 = 64 Mhz como máximo.