下载此文档

第8章 STM32时钟与GPIO设计.ppt


文档分类:通信/电子 | 页数:约55页 举报非法文档有奖
1/55
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/55 下载此文档
文档列表 文档介绍
,调用__main函数之前先调用了SystemInit()初始化函数,其中系统时钟SYSCLK设置:时钟源、倍频、分频等控制参数。SystemInit(),.c中。使用外设时,配置初始化后,必须也要开启外设时钟。()先将配置时钟相关的寄存器都复位为默认值,再调用SetSysClock()选择使用频率,而具体设置是通过宏定义设置的。函数调用顺序:启动文件→SystemInit()→ SetSysClock ()→ SetSysClockTo72()。1、SystemInit()STM32时钟系统的SystemInit()中设置:SYSCLK(系统时钟)=72MHzAHB总线时钟(使用SYSCLK)=72MHzAPB1总线时钟(PCLK1)=36MHzAPB2总线时钟(PCLK2)=72MHzPLL时钟=寄存器复位值:RCC_CR=0x0000xx83;RCC_CFGR=0x00000000;RCC_CIR=0x00000000;RCC_CFGR2=0x00000000;……。{ __IOuint32_tCR;  __IOuint32_tCFGR;  __IOuint32_tCIR;  __IOuint32_tAPB2RSTR;  __IOuint32_tAPB1RSTR;  __IOuint32_tAHBENR;  __IOuint32_tAPB2ENR;  __IOuint32_tAPB1ENR;  __IOuint32_tBDCR;  __IOuint32_tCSR;#ifdefSTM32F10X_CL  __IOuint32_tAHBRSTR;  __IOuint32_tCFGR2;#endif/*STM32F10X_CL*/#ifdefined(STM32F10X_LD_VL)||defined(STM32F10X_MD_VL)||defined(STM32F10X_HD_VL)  uint32_tRESERVED0;  __IOuint32_tCFGR2;#endif/*STM32F10X_LD_VL||STM32F10X_MD_VL||STM32F10X_HD_VL*/}RCC_TypeDef;:#define __IO  volatile;volatile,易变的,用变量时需到原地址重新存取。。typedefunsignedintuint32_t;寄存器组所有32位寄存器的地址,0x04正好是地址偏移量,所以把连续的寄存器组定义为结构。2、SetSysClock()函数如下此函数中选择调用确定使用频率的函数。staticvoidSetSysClock(void){#ifdefSYSCLK_FREQ_HSE SetSysClockToHSE();#elifdefinedSYSCLK_FREQ_24MHz SetSysClockTo24();#elifdefinedSYSCLK_FREQ_36MHz SetSysClockTo36();#elifdefinedSYSCLK_FREQ_48MHz SetSysClockTo48();#elifdefinedSYSCLK_FREQ_56MHz SetSysClockTo56(); #elifdefinedSYSCLK_FREQ_72MHz//使用此项 SetSysClockTo72();#endif}3、SetSysClockTo72()函数各个SetSysClockToXX(void)函数,配置了具体的系统时钟,PLL倍频以及分频系数。采用寄存器直接配置方式,如:staticvoidSetSysClockTo72(void){__IOuint32_tStartUpCounter=0,HSEStatus=0;/*SYSCLK,HCLK,PCLK2andPCLK1configuration*//*EnableHSE*/RCC->CR|=((uint32_t)RCC_CR_HSEON);do{HSEStatus=

第8章 STM32时钟与GPIO设计 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数55
  • 收藏数0 收藏
  • 顶次数0
  • 上传人changjinlai
  • 文件大小1.71 MB
  • 时间2019-11-10