时钟配置实验

文章详细介绍了STM32F10x系列微控制器的时钟配置过程,包括时钟初始化函数SystemInit(),外设时钟使能函数如RCC_APBxPeriphClockCmd(),时钟源配置如RCC_HSEConfig()和RCC_PLLCmd(),以及自定义系统时钟的实现方法。在主函数中,示例了如何使用这些配置来控制LED灯的闪烁。
摘要由CSDN通过智能技术生成

时钟配置函数:

  1. 时钟初始化配置函数

void SystemInit()

时钟配置函数:

  1. 外设时钟使能函数://三条总线

void RCC_AHBPeriphClockCmd()

void RCC_APB2PeriphClockCmd()//使能GPIO

void RCC_APB1PeriphClockCmd()

  1. 时钟源使能函数:

void RCC_HSICmd(FunctionalState NewState);

void RCC_LSICmd(FunctionalState NewState);

void RCC_PLLCmd(FunctionalState NewState);

void RCC_RTCCLKCmd(FunctionalState NewState);

  1. 时钟源和倍频因子配置函数:

void RCC_HSEConfig(uint32_t RCC_HSE);

void RCC_SYSCLKConfig(uint32_t RCC_SYSCLKSource);

void RCC_HCLKConfig(uint32_t RCC_SYSCLK);

void RCC_PCLK1Config(uint32_t RCC_HCLK);

void RCC_PCLK2Config(uint32_t RCC_HCLK);

void RCC_ITConfig(uint8_t RCC_IT, FunctionalState NewState);

  1. 外设时钟复位函数:

void RCC_APB2PeriphClockCmd(uint32_t RCC_APB2Periph, FunctionalState NewState);

void RCC_APB1PeriphClockCmd(uint32_t RCC_APB1Periph, FunctionalState NewState);

自定义系统时钟:

#include "stm32f10x.h"

#include "led.h"

void RCC_HSE_Config(u32 div,u32 pllm) //???????(??????)

{

RCC_DeInit(); //???RCC?????????

RCC_HSEConfig(RCC_HSE_ON);//????????(HSE)

if(RCC_WaitForHSEStartUp()==SUCCESS) //??HSE??

{

RCC_HCLKConfig(RCC_SYSCLK_Div1);//??AHB??(HCLK)

RCC_PCLK1Config(RCC_HCLK_Div2);//????AHB??(PCLK1)

RCC_PCLK2Config(RCC_HCLK_Div1);//????AHB??(PCLK2)

RCC_PLLConfig(div,pllm);//??PLL????????

RCC_PLLCmd(ENABLE); //??????PLL

while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY)==RESET);//?????RCC???????,PLL??

RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);//??????(SYSCLK)

while(RCC_GetSYSCLKSource()!=0x08);//????????????,0x08:PLL??????

}

}

void delay(u32 ms)//yan shi

{

while(ms--);

}

int main()

{

RCC_HSE_Config(RCC_PLLSource_HSE_Div2,RCC_PLLMul_9);

LED_Init() ;

while(1)

{

GPIO_ResetBits(LED1_PORT, LED1_PIN);//dian liang

delay(60000);

GPIO_SetBits(LED1_PORT,LED1_PIN);//dian liang

delay(60000);

}

}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值