- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
会计学; STM32单片机管脚;;一般而言,嵌入式系统在工作前,都要进行初始化工作,其中包括调用RCC_Configuration(复位和时钟设置)函数。用于系统复位和初始化STM32系列微控制器的时钟。;STM32系列微控制器中,有5个时钟源:HSI (High Speed Internal) :高速内部时钟、HSE (High Speed External):高速外部时钟、LSI (Low Speed Internal) :低速内部时钟、LSE(Low Speed External) :低速外部时钟、 PLL(Phase Locked Loop) :锁相环倍频输出。其中的HSI、HSE、 或PLL可被用来驱动系统时钟。 其中的LSI、LSE作为二级时钟源。;其中的HSI、HSE、 或PLL可被用来驱动系统时钟。;外设总线:包括APB1(Advanced Peripheral Bus 1)
和APB2(Advanced Peripheral Bus 2);STM32系统结构图;1、使能 挂接在APB1总线上的外设 对应的时钟 命令:;3、使能 挂接在AHB总线上的外设 对应的时钟 命令:;使用操作符“|”可以一次选中上表中的一个或多个取值的组合作为该参数的值。;复位和时钟控制(RCC) ;STM32F103xx增强型模块框图;基于ARM Cortex内核的MCU 和 普通的8/16位单片机 在系统结构上 最大区别:;原因二:时钟分开有助于实现低功耗。;时钟输出使能;2.2.2 RCC_Configuration( )函数;STM32单片机的复位和时钟设置 :共包括10个设置寄存器
①一个32位的时钟控制寄存器(RCC_CR)
②一个32位的时钟配置寄存器(RCC_CFGR)
③一个32位的时钟中断寄存器 (RCC_CIR)
④一个32位的APB2外设复位寄存器 (RCC_APB2RSTR)
⑤一个32位的APB1外设复位寄存器 (RCC_APB1RSTR)
⑥一个32位的AHB外设时钟使能寄存器 (RCC_AHBENR)
⑦一个32位的APB2外设时钟使能寄存器(RCC_APB2ENR)
⑧一个32位的APB1外设时钟使能寄存器(RCC_APB1ENR)
⑨一个32位的备份域控制寄存器 (RCC_BDCR)
⑩一个32位的控制/状态寄存器 (RCC_CSR) ;编程时,时钟的具体配置是从RCC(Reset and Clock Configuration,复位和时钟配置)寄存器组开始。在固件库中,用结构体RCC_TypeDef 定义 RCC寄存器组:;/* Peripheral base address in the bit-band region */
#define PERIPH_BASE ((u32)0;2、枚举类型ErrorStatus ;3、RCC_Configuration(复位和时钟设置)函数:在“HelloRobot.h”中;/*设置低速PCLK1时钟(即APB1 clock)=?AHB时钟/4=12 MHz ,PCLK1 = HCLK/4 */
RCC_PCLK1Config(RCC_HCLK_Div4); //RCC_HCLK_Div4: APB1 clock = HCLK/4=12MHz,此处不同于鸥鹏公司的程序(=36MHz)
/*设置Flash 延时时钟周期数:为2 */
FLASH_SetLatency(FLASH_Latency_2);
/* Enable Flash Prefetch Buffer预取指令指令缓冲区,这2句与RCC没有关系 */
FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable);
/* 利用锁相环将HSE外部8MHz晶振6倍频到48 MHz,作为PLLCLK。 PLLCLK = 8MHz * 6 = 48 MHz */
RCC_PLLConfig ( RCC_PLLSource_HSE_Div1, RCC_PLLMul_6); //此处不同于鸥鹏公司的程序:PLLCLK = 8MHz * 6 = 48 MHz
/* Enable PLL */
RCC_PLLCmd(ENABLE);
; /* Wait till PLL is ready,等待 锁相环 输出稳定 */
while(RCC_GetFlagStatus(RCC_
原创力文档


文档评论(0)