当前位置: 首页 > news >正文

seo诊断网站免费诊断平台关键词站长工具

seo诊断网站免费诊断平台,关键词站长工具,网站推广行业赚钱吗,wordpress tipton目录 背景 RCC配置时钟主要涉及两方面 程序 第1步、RCC默认初始化 第2步、等待HSE工作稳定 第3步、设置PLL时钟源以及倍频数 第4步、设置AHB总线时钟(HCLK) 第5步、设置PCLK1(APB1总线) 第6步、设置PCLK2(APB2总线) 第7步、FLASH存储器的配置 …

目录

背景

RCC配置时钟主要涉及两方面

程序

第1步、RCC默认初始化

第2步、等待HSE工作稳定

第3步、设置PLL时钟源以及倍频数

第4步、设置AHB总线时钟(HCLK)

第5步、设置PCLK1(APB1总线)

第6步、设置PCLK2(APB2总线)

第7步、FLASH存储器的配置

第8步、使能PLL

第9步、等待PLL就绪

第10步、设置系统SYSCLK

第11步、等待切换到系统时钟为PLL


背景

在本篇文章会对stm32(STM32F103C8T6)的时钟系统进行配置。

RCC配置时钟主要涉及两方面


1)设置单片机的时钟输入源
2)CPU和各种总线(AHB、APB1、APB2)的频率

开发板是使用8M的HSE晶振再进行8倍频作为系统时钟源。配置系统时钟(即MCU主频)和三个总线时钟的时候,需要根据stm32数据手册中的时钟树来进行配置。以SYSCLK为分界点,左边部分为产生主频部分;右边部分为分频主频部分!

程序

void RCC_Configuration(void){ //RCC时钟的设置  ErrorStatus HSEStartUpStatus;   RCC_DeInit();              /* RCC system reset(for debug purpose) RCC寄存器恢复初始化值*/   RCC_HSEConfig(RCC_HSE_ON); /* Enable HSE 使能外部高速晶振*/   HSEStartUpStatus = RCC_WaitForHSEStartUp(); /* Wait till HSE is ready 等待外部高速晶振使能完成*/   if(HSEStartUpStatus == SUCCESS){   /*设置PLL时钟源及倍频系数*/   RCC_PLLConfig(RCC_PLLSource_HSE_Div1, RCC_PLLMul_9); //RCC_PLLMul_x(枚举2~16)是倍频值。当HSE=8MHZ,RCC_PLLMul_9时PLLCLK=72MHZ   /*设置AHB时钟(HCLK)*/   RCC_HCLKConfig(RCC_SYSCLK_Div1); //RCC_SYSCLK_Div1——AHB时钟 = 系统时钟(SYSCLK) = 72MHZ(外部晶振8HMZ)   /*注意此处的设置,如果使用SYSTICK做延时程序,此时SYSTICK(Cortex System timer)=HCLK/8=9MHZ*/   RCC_PCLK1Config(RCC_HCLK_Div2); //设置低速AHB时钟(PCLK1),RCC_HCLK_Div2——APB1时钟 = HCLK/2 = 36MHZ(外部晶振8HMZ)   RCC_PCLK2Config(RCC_HCLK_Div1); //设置高速AHB时钟(PCLK2),RCC_HCLK_Div1——APB2时钟 = HCLK = 72MHZ(外部晶振8HMZ)   /*注:AHB主要负责外部存储器时钟。APB2负责AD,I/O,高级TIM,串口1。APB1负责DA,USB,SPI,I2C,CAN,串口2,3,4,5,普通TIM */  FLASH_SetLatency(FLASH_Latency_2); //设置FLASH存储器延时时钟周期数   /*FLASH时序延迟几个周期,等待总线同步操作。   推荐按照单片机系统运行频率:0—24MHz时,取Latency_0;   24—48MHz时,取Latency_1;   48~72MHz时,取Latency_2*/   FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable); //选择FLASH预取指缓存的模式,预取指缓存使能   RCC_PLLCmd(ENABLE);	//使能PLLwhile(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET); //等待PLL输出稳定   RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK); //选择SYSCLK时钟源为PLLwhile(RCC_GetSYSCLKSource() != 0x08); //等待PLL成为SYSCLK时钟源   }  /*开始使能程序中需要使用的外设时钟*/   
//	RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1 | RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB |   
//	RCC_APB2Periph_GPIOC | RCC_APB2Periph_GPIOD | RCC_APB2Periph_GPIOE, ENABLE); //APB2外设时钟使能      
//	RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART2, ENABLE); //APB1外设时钟使能  
//	RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART3, ENABLE);   
//	RCC_APB2PeriphClockCmd(RCC_APB2Periph_SPI1, ENABLE);   	 
//	RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE);    
}  

第1步、RCC默认初始化

第2步、启用HSE

第2步、等待HSE工作稳定

方法1:

方法2:

通过在while条件中调用RCC_GetFlagStatus,等待HSE工作就绪

第3步、设置PLL时钟源以及倍频数

实现箭头部分功能

HSE的频率为8MHZ,通过PLLMUL 八倍倍频之后就可以达到SYSCLK 70MHZ的意图!

第4步、设置AHB总线时钟(HCLK)

HCLK,提供给高速总线AHB的时钟信号

实现箭头部分,属于分配主频(SYSCLK)

第5步、设置PCLK1(APB1总线)

APB1(PCLK1)的时钟频率是72/2=36MHZ

第6步、设置PCLK2(APB2总线)

第7步、FLASH存储器的配置

第8步、使能PLL

第9步、等待PLL就绪

通过在while的条件中调用该函数等待PLL就绪

第10步、设置系统SYSCLK

第11步、等待切换到系统时钟为PLL

http://www.khdw.cn/news/6276.html

相关文章:

  • 自己做网站哪里最好杭州优化外包
  • 上海做网站哪里有网页模板建站系统
  • 广州腾虎网络网站建设熊掌号百度问答官网
  • 简述网站制作流程图外国网站开放的浏览器
  • 重庆网站设计公司网站制作信息流优化师发展前景
  • 网站建设的主要内容抖音引流推广一个30元
  • 小精灵网站在线做语文seo运营经理
  • 无经验可以做网站编辑吗手游推广平台
  • 怎么做网站反向链接bing收录提交
  • 泰州模板开发建站2023年8月新冠又来了
  • 悉知网站建设百度关键词收录排名
  • 西安手机网站定制网站建设求个没封的网站2022
  • 网站弄论坛形式怎么做白山网络推广
  • 做网站什么的好淘宝店铺怎么免费推广
  • 如何做地图的ppt模板下载网站引擎搜索技巧
  • 南充市建设局官方网站搜索引擎分类
  • 中建招聘2022社会招聘信息台州seo服务
  • wordpress首页不显示post东莞网站seo技术
  • 网上做流量对网站有什么影响吗企业网站排名优化
  • 建设网站必须要服务器吗中铁建设集团有限公司
  • 在网站中搜索关键字seo常见的优化技术
  • 做外国网站今天刚刚发生的新闻
  • 南昌vr网站开发抖音seo优化怎么做
  • 建设银行网站查询房贷信息查询天津seo排名费用
  • 前端和做网站站长分析工具
  • 用群晖做网站服务器jmr119色带
  • 潞城建设局网站百度导航是哪个国家的
  • 相册管理网站模板下载失败佛山网站建设正规公司
  • 商城网站建设是 什么软件seo实战培训
  • 网站建设和域名备案免费代理上网网站