微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > STM32F10x芯片时钟控制总结

STM32F10x芯片时钟控制总结

时间:11-11 来源:互联网 点击:

/*客户添加相应的系统保护代码处理*/

/*下面添加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倍频后的二分频时钟

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top