历史上的今天
今天是:2024年11月08日(星期五)
2021年11月08日 | stm32库函数记录
2021-11-08 来源:eefocus
一、系统初始化函数执行完毕各时钟的状态

二、三类(总线上的)时钟函数
2.1、外设时钟使能函数
void RCC_AHBPeriphClockCmd(uint32_t RCC_AHBPeriph, FunctionalState NewState);
void RCC_APB2PeriphClockCmd(uint32_t RCC_APB2Periph, FunctionalState NewStat e);
void RCC_APB1PeriphClockCmd(uint32_t RCC_APB1Periph, FunctionalState NewStat e);
此3 个时钟使能函数也是 STM32 的 3 条总线。
STM32 外设都是挂接在 AHB 和 APB 总线上。比如 GPIO 外设它是挂接在 APB2 总线上。
外设时钟使能函数有两个形参,第一个是你所使用的外 设所挂接的时钟 ,第 二个是选择你用的外设时 钟使能还是失能 。
如我们要使能端口 GPIOB,那么第 一个传递的参数是:RCC_APB2Periph_GPIOB 宏。
第二个传递的参数是 ENABLE 使能。
从第一个参数名来看也非常好理解
RCC 表示复位和时钟控制器,
APB2 表示 GPIOB 是挂接在 APB2 总线上,
Periph 表示外设,后面的 GPIOB 表示我们使能的 是 GPIOB 端口。第二个参数 ENABLE 表示使能。
2.1.2、其他时钟源
void RCC_HSICmd(FunctionalState NewState); // 内部高速时钟
void RCC_LSICmd(FunctionalState NewState); // 内部低速时钟
void RCC_PLLCmd(FunctionalState NewState); // 主时钟
void RCC_RTCCLKCmd(FunctionalState NewState);//实时时钟
这些函数都是用来使能相应的时钟源,比如我们要使能 PLL 时钟,那么就调 用 RCC_PLLCmd 函数,函数有一个形参,和前面外设时钟的第二个参数一样,如 果为 ENABLE 表示使能,DISABLE 表示失能。
2.2、时钟源和倍频因子配置函数
设置 HSE 作为系统时钟源,那么调用的函数就是
RCC_SYSCLKConfig(RCC_SYSCLKSource_HSE);//配置时钟源为 HSE
APB1 的时钟频率是 HCLK 的 2 分频
RCC_PCLK1Config(RCC_HCLK_Div2);//设置低速 APB1 时钟(PCLK1)
2.3、外设复位函数
void RCC_APB1PeriphResetCmd(uint32_t RCC_APB1Periph, FunctionalState NewStat e);
void RCC_APB2PeriphResetCmd(uint32_t RCC_APB2Periph, FunctionalState NewStat e);
在 STM32F10x 高容量的芯片中没有 RCC_AHBPeriphResetCmd 函数。这类函数 与外设时钟使能函数用法一样,只不过外设时钟使能函数是用于使能 外设时钟,而这类函数是用于外设复位,从函数名也可以区分出来。
三、配置函数
void RCC_PLLConfig(uint32_t RCC_PLLSource, uint32_t RCC_PLLMul);
第一个参数是 PLL 时钟源选择我们例程中采用的都是 HSE 作为 PLL 的时 钟源,可以设置为 RCC_PLLSource_HSE_Div1/RCC_PLLSource_HSE_Div2。
第二个 参数就是倍频因子值(RCC_PLLMul_2~RCC_PLLMul_16)。

未修改系统时钟时,系统初始化后默认时钟为72M
RCC_HSE_Config(RCC_PLLSource_HSE_Div1,RCC_PLLMul_9);
让系统时钟为 36M,只需要将参数值修改
RCC_HSE_Config(RCC_PLLSource_HSE_Div2,RCC_PLLMul_9);
此时修改的是 div 这个参数值,此参数用来对 HSE 时钟分频系数设置,从时 钟树可知,HSE 可以直接流入到 PLLSRC,还可以经过 2 分频后给 PLLSRC。它的 取值为 RCC_PLLSource_HSE_Div1 或 RCC_PLLSource_HSE_Div2。
上一篇:stm32阶段总结录
下一篇:STM32F103启动文件
史海拾趣
|
压缩卡及硬盘录像机常见故障 在使用PC式的硬盘录像机的过程中,难免会遇到许多诸如死机等突发故障,对于平时工作正常的较新机子而言,其中大多数死机都是软件停止了响应造成的,只要强制关闭了这些停止响应的软件,硬盘录像机即可恢复正常工作,方 ...… 查看全部问答> |
|
一个全新的FPGA如何确定其功能如何呢?下面看赛灵思测试工程师详解7系列 FPGA:$(\'swf_ziw\').innerHTML=AC_FL_RunContent(\'width\', \'550\', \'height\', \'400\', \'allowNetworking\', \'internal\', \'allowScriptAccess\', \'never\', \'sr ...… 查看全部问答> |
|
超值的NRF905综合开发板JASK3000 JASK3000开发系统 集成当前433频段最主流无线收IC :NRF905无线收发器,相信掌握这NRF905无线收发器原理及应用对大家在无线应用开发领域奠定扎实基础.我公司提供全面技术支持,保证大家快速入门和应用 ...… 查看全部问答> |
|
随着MS的操作系统从Win98过渡到Winnt系统(包括2k/xp),MS的任务管理器也一下子脱胎换骨,变得火眼金睛起来(在WINNT下传统木马再也无法隐藏自己的进程),这使得以前在win98下靠将进程注册为系统服务就能够从任务管理器中隐形的木马面临前所未有 ...… 查看全部问答> |
|
-精C++,嵌入式编程,Unix, MFC, Vxworks -工作经验2年以上 -学历要求本科以上 -英语听说读写熟练 -本科学历或以上, 计算机相关专业; -3年以上Linux 软件开发经验; -精通 C++, UML and XML -懂网络编程者优先; -英语熟练,懂日语者优先 ...… 查看全部问答> |




