STM32F103 使用HSI配置系统时钟为64MHZ

发布者:数据舞者最新更新时间:2018-06-26 来源: eefocus关键字:STM32F103  HSI配置  系统时钟  64MHZ 手机看文章 扫描二维码
随时随地手机看文章
  1. /** 

  2.   * @brief  Sets System clock frequency to 64MHz and configure HCLK, PCLK2  

  3.   *         and PCLK1 prescalers.  

  4.   * @note   OCS is HSI. This function should be used only after reset. 

  5.   * @param  None 

  6.   * @retval None 

  7.   */  

  8. void SetSysClockTo64Mhz(void)  

  9. {  

  10.   __IO uint32_t StartUpCounter = 0, HSEStatus = 0;  

  11.     RCC_DeInit();  

  12.     

  13.   /* SYSCLK, HCLK, PCLK2 and PCLK1 configuration ---------------------------*/      

  14.   /* Enable HSI */      

  15.   RCC->CR |= ((uint32_t)RCC_CR_HSION);  

  16.    

  17.   /* Wait till HSI is ready and if Time out is reached exit */  

  18.   do  

  19.   {  

  20.     HSEStatus = RCC->CR & RCC_CR_HSIRDY;  

  21.     StartUpCounter++;    

  22.   } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT));  

  23.   if ((RCC->CR & RCC_CR_HSIRDY) != RESET)  

  24.   {  

  25.     HSEStatus = (uint32_t)0x01;  

  26.   }  

  27.   else  

  28.   {  

  29.     HSEStatus = (uint32_t)0x00;  

  30.   }    

  31.   if (HSEStatus == (uint32_t)0x01)  

  32.   {  

  33.     /* Enable Prefetch Buffer */  

  34.     FLASH->ACR |= FLASH_ACR_PRFTBE;  

  35.     /* Flash 2 wait state */  

  36.     FLASH->ACR &= (uint32_t)((uint32_t)~FLASH_ACR_LATENCY);  

  37.     FLASH->ACR |= (uint32_t)FLASH_ACR_LATENCY_2;      

  38.    

  39.     /* HCLK = SYSCLK */  

  40.     RCC->CFGR |= (uint32_t)RCC_CFGR_HPRE_DIV1;  

  41.         

  42.     /* PCLK2 = HCLK */  

  43.     RCC->CFGR |= (uint32_t)RCC_CFGR_PPRE2_DIV1;  

  44.       

  45.     /* PCLK1 = HCLK */  

  46.     RCC->CFGR |= (uint32_t)RCC_CFGR_PPRE1_DIV2;  

  47.     

  48.     /*  PLL configuration: PLLCLK = HSI/2 * 16 = 64 MHz */  

  49.     RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_PLLSRC | RCC_CFGR_PLLXTPRE |  

  50.                                         RCC_CFGR_PLLMULL));  

  51.     RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLSRC_HSI_Div2| RCC_CFGR_PLLMULL16);  

  52.   

  53.     /* Enable PLL */  

  54.     RCC->CR |= RCC_CR_PLLON;  

  55.     /* Wait till PLL is ready */  

  56.     while((RCC->CR & RCC_CR_PLLRDY) == 0)  

  57.     {  

  58.     }  

  59.       

  60.     /* Select PLL as system clock source */  

  61.     RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW));  

  62.     RCC->CFGR |= (uint32_t)RCC_CFGR_SW_PLL;      

  63.     /* Wait till PLL is used as system clock source */  

  64.     while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS) != (uint32_t)0x08)  

  65.     {  

  66.     }  

  67.   }  

  68.   else  

  69.   { /* If HSE fails to start-up, the application will have wrong clock  

  70.          configuration. User can add here some code to deal with this error */  

  71.   }  

  72. }  



关键字:STM32F103  HSI配置  系统时钟  64MHZ 引用地址:STM32F103 使用HSI配置系统时钟为64MHZ

上一篇:不用晶振,STM32内部HSI时钟的倍频使用
下一篇:STM32F0的UART选择HSI作为时钟源

推荐阅读最新更新时间:2024-03-16 16:07

MSP430X5XX的时钟系统与低功耗模式
引言:全新改版,关于MSP430x5xx时钟系统与低功耗模式介绍。用到低功耗的时候,不得不仔细的看文档,做比较实验,真繁琐。 430系列单片机中有各种时钟信号,第一次接触免不了一头雾水。而且如果想发挥430低功耗的优势,就不得不对它的时钟系统(Unified Clock System)有所了解。 1. 时钟模块总览 这是MSP430X5XX的时钟系统框图。乍一看很复杂,不过简化之后就清楚多了 整个系统主要分为左右两大块,左边是时钟源模块,右边是时钟调整模块。 左边的模块 XT1、内建时钟(DCO)、XT2用来产生时钟源,也就是右边最终输出的时钟信号的基准信号。 而时钟调整模块负责将源时钟信号选通、分频输出成系统使
[单片机]
MSP430X5XX的<font color='red'>时钟</font><font color='red'>系统</font>与低功耗模式
STM32F30X时钟初始化为HSI 64Mhz,并使用PLLCLK作为系统时钟
void SYSCLK_Config_HSI_64Mhz(void) { __IO uint32_t StartUpCounter = 0, HSIStatus = 0; /* SYSCLK, HCLK, PCLK2 and PCLK1 configuration ---------------------------*/ /* Enable HSI */ RCC- CR |= ((uint32_t)RCC_CR_HSION); /* Wait till HSI is ready and if Time out is reached exit */ do {
[单片机]
【JZ2440笔记】系统时钟设置
一、前言 JZ2440开发板上的外部晶振是12MHz的,开发板一上电时S3C2440的系统时钟为12MHz,但是S3C2440最高系统时钟可以跑到400MHz,为了发挥CPU更高的性能,需要将外部晶振输入的12MHz时钟通过芯片内部的锁相环电路进行倍频,然后获得400MHz的系统时钟,使得CPU指令执行速度变快,同时也相应提升HCLK和PCLK总线的速度。 二、实验目标 将S3C2440的FCLK系统时钟从12MHz提升到400MHz,HCLK提升到100MHz、PCLK提升到50MHz。运行LED闪烁程序。 三、S3C2440的时钟体系 1、时钟体系 时钟模块框图如下: S3C2440A 中的时钟控制逻辑可以产生
[单片机]
【JZ2440笔记】<font color='red'>系统</font><font color='red'>时钟</font>设置
STM32F103与STM32F407的SPI调试笔记
在写入SPI数据数,必须调用 SPI_I2S_ReceiveData(SPI1);读取一次,不然会对数据的读取不正确 u8 SPI_Flash_GetChar(void){ u8 Data = 0; Data = SPI_I2S_ReceiveData(SPI1);//必须读取一次,应该是读后清空寄存器 while (SPI_I2S_GetFlagStatus(SPI1, SPI_I2S_FLAG_TXE) == RESET); //SPI_I2S_ClearITPendingBit(SPI1,SPI_I2S_FLAG_TXE); SPI_I2S_SendData(SPI1, 0xff); while (S
[单片机]
基于STM32F103C8T6的PWM信号控制电机驱动器与点灯代码实例
STM32是一系列由STMicroelectronics生产的32位ARM微控制器。它们被广泛应用于各种应用领域,如工业控制、汽车电子、嵌入式系统、通讯、医疗设备等。STM32具有低功耗、高性能、高可靠性的特点,支持多种通信接口和众多的外设,可满足不同应用领域的需求。 STM32F103器件采用Cortex-M3内核,CPU最高速度达72 MHz。该产品系列具有16KB ~ 1MB Flash、多种控制外设、USB全速接口和CAN。 STM32F103C8T6是一款基于ARM Cortex-M 内核STM32系列的32位的微控制器,程序存储器容量是64KB,需要电压2V~3.6V,工作温度为-40°C ~ 85°C。STM
[单片机]
基于<font color='red'>STM32F103</font>C8T6的PWM信号控制电机驱动器与点灯代码实例
基于STM32F103RB单片机的、细分度可调的步进电机驱动器设计
步进电机是一种运用广泛的控制电机,其特征是不使用位置反馈回路就能进行速度控制及定位控制,即所谓的电机开环控制。相对于伺服电机,步进电机有着成本低廉,控制简单等优点,尤其是两相混合式步进电机,在工业运动控制系统中有着广泛的应用。然而,传统的驱动方式,比如单电压驱动、高低电压驱动、斩波恒流驱动等等,虽然已经应用十分成熟,但是只限于低速运行,并且细分度一般限制在1/2步距,无法很好消除低频振荡,以及定位精度差等缺点。细分驱动的出现很好地弥补了这一缺点。 常见的细分控制器一般由MCU、专用逻辑驱动芯片以及功率驱动模块组成,这样的驱动器虽然能满足多细分驱动,但由于细分数量和效果会受到逻辑驱动芯片的影响,并且无法调整细分数和限流值、从
[单片机]
基于<font color='red'>STM32F103</font>RB单片机的、细分度可调的步进电机驱动器设计
STM32f103-实例睡眠模式的唤醒
main.c /***************************************************************************/ // environment : writ by Chen maolin in 2010/9/23 on Kiel 4.0 // finktion : about a projiect to setup EXTI // hardware optimization : // update : 2010/9/26 陈茂林 /*************************************************
[单片机]
ARM的多任务和系统时钟
ARM的多任务和系统时钟 一、实验目的 学习系统时间相关API 函数和使用信号量解决uCOS-II 进程之间的同步问题,把系统时 间显示在一个文本框中,并可以通过键盘设置修改。 二、实验内容 本次实验在用户的Main_Task 任务中创建一个新任务,来实现系统时钟的显示和更新。 同时,通过在Main_Task 任务中响应键盘消息,可以对系统的时钟进行更改。使用uCOS-II 多任务系统中的信号量保证多个任务同时对系统的一个资源访问而不产生冲突。 三、预备知识 1、用ARM SDT 2.5 集成开发环境,编写和调试程序的基本过程。 2、基于操作系统的应用程序的框架结构。 3、会使用Source Insight 3 编辑C 语言源程
[单片机]
ARM的多任务和<font color='red'>系统</font><font color='red'>时钟</font>
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved