STM32F10x芯片时钟控制总结
/*客户添加相应的系统保护代码处理*/
/*下面添加HSE恢复后的预设代码*/
RCC_HSEConfig(RCC_HSE_ON);
RCC_ITConfig(RCC_IT_HSERDY,ENABLE);
RCC_ITConfig(RCC_IT_PLLRDY,ENABLE);
RCC_ClearITPendingBit(RCC_IT_CSS);
/*至此一旦HSE时钟恢复,将发生HSERDY中断,在RCC中断处理程序中,可以将系统时钟设置到以前的状态*/
}
}
编写RCC中断处理函数:
void RCC_IRQHandler(void)
{
if(RESET != RCC_GetITStatus(RCC_IT_HSERDY))
{
/*添加相应处理*/
RCC_ClearITPendingBit(RCC_IT_HSERDY);
}
if(RESET != RCC_GetITStatus(RCC_IT_PLLRDY))
{
/*添加相应处理*/
RCC_ClearITPendingBit(RCC_IT_PLLRDY);
}
}
8、输出芯片内部时钟
STM32F10x芯片支持将内部时钟通过PA.8输出,但是必须注意GPIO输出管脚最大响应频率为50MHz,如果超过这个频率,输出的波形将会失真。应用实例如下:
首先配置端口PA.8
GPIO_InitTypeDef GPIO_InitStructure;
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
GPIO_Init(GPIOA,&GPIO_InitStructure);
然后调用函数RCC_MCOConfig(RCC_MCO)选择要输出的内部时钟:RCC_MCO可以是:
RCC_MCO_NoClock——无时钟输出
RCC_MCO_SYSCLK——输出系统时钟
RCC_MCO_HSI——输出内部高速8MHz的RC振荡器时钟
RCC_MCO_HSE——输出外部时钟信号
RCC_MCO_PLLCLK_Div2——输出PLL倍频后的二分频时钟
STM32F10x时钟控 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)