时钟
三种不同的时钟源可被用来驱动系统时钟(SYSCLK):
● HSI振荡器时钟
● HSE振荡器时钟
● PLL时钟 这些设备有以下2种二级时钟源:
● 40kHz低速内部RC,可以用于驱动独立看门狗和通过程序选择驱动RTC。RTC用于从停机/待机模式下自动唤醒系统。
● 32.768kHz低速外部晶体也可用来通过程序选择驱动RTC(RTCCLK)。 当不被使用时,任一个时钟源都可被独立地启动或关闭,由此优化系统功耗。
1.当HSI被用于作为PLL时钟的输入时,系统时钟能得到的最大频率是64MHz。
2.对于内部和外部时钟源的特性,请参考相应产品数据手册中“电气特性”章节。 用户可通过多个预分频器配置AHB、高速APB(APB2)和低速APB(APB1)域的频率。AHB和APB2域的最大频率是72MHz。APB1域的最大允许频率是36MHz。SDIO接口的时钟频率固定为HCLK/2。
RCC通过AHB时钟(HCLK)8分频后作为Cortex系统定时器(SysTick)的外部时钟。通过对SysTick控制与状态寄存器的设置,可选择上述时钟或Cortex(HCLK)时钟作为SysTick时钟。ADC时钟由高速APB2时钟经2、4、6或8分频后获得。
定时器时钟频率分配由硬件按以下2种情况自动设置: 1. 如果相应的APB预分频系数是1,定时器的时钟频率与所在APB总线频率一致。 2. 否则,定时器的时钟频率被设为与其相连的APB总线频率的2倍。
void RCC_Configuration(void)
{
SystemInit();
RCC_APB2PeriphClockCmd(USARTy_GPIO_CLK | USARTz_GPIO_CLK | RCC_APB2Periph_AFIO, ENABLE);
#ifndef USE_STM3210C_EVAL
RCC_APB2PeriphClockCmd(USARTy_CLK, ENABLE);
#else
RCC_APB1PeriphClockCmd(USARTy_CLK, ENABLE);
#endif
RCC_APB1PeriphClockCmd(USARTz_CLK, ENABLE);
}
关键字:STM32 学习笔记 RCC
引用地址:
STM32学习笔记之RCC
推荐阅读最新更新时间:2024-03-16 14:35
STM32的PWM极性和模式
初学STM32 本人还是菜鸟级选手,学习PWM这节一直困惑不解,对PWM的模式和极性搞不清楚。不久前,突然恍然大悟。众里寻他千百度,蓦然回首那人却在灯火阑珊处。 其实,想通了也很简单。再说PWM模式之前,我们要知道计数器CNT。比如在向上计数模式时CNT从0计数到设定的周期值。还有一个用来确定高低电平分割线的CCRx的寄存器。这样一来就可以知道PWM的周期有定时的周期值确定,高低占空比有CRRx值来确定。 PWM一共有两种模式,PWM1模式:CNT CRRx为有效电平。CNT CRRx为无效电平。PWM2模式相反。那么问题来了什么为有效电平?他又怎么确定 它是由TIM_OCInitStructure.TIM_OCPolarity
[单片机]
基于STM32设计的炉温温度检测仪
一、项目背景 随着工业生产的发展,炉温检测在现代化工、钢铁、电子、玻璃等行业中变得越来越重要。对于这些行业,稳定的生产环境和品质稳定的产品是必须的,而炉温是影响产品品质的重要因素之一。如果炉温过高或过低,都有可能导致产品结构改变、硬度变化、强度下降等质量问题,使得产品不能达到预期的性能指标。此外,炉温不仅会影响产品质量,还会影响设备的使用寿命和工作效率,有时甚至会对整个工厂的正常生产造成影响。 为了防止这些问题的发生,现代化工、钢铁、电子、玻璃等行业需要精准测量炉温并实时地监测炉温变化情况。而本项目即是为了满足这些需求而设计的。采用STM32F103C8T6作为主控芯片,它是一款基于ARM Cortex-M3内核的微控制器,具
[单片机]
详解STM32最小系统电路
STM32最小系统硬件组成 最小系统为单片机工作的最低要求,不含外设控制,原理简单,分析最小系统是STM32入门的基础。 组成: · 电源 · 复位 · 时钟 · 调试/下载接口 · 启动 电源 3.3V的电源从这里接入,其中电容起到滤波的作用。 复位电路 当RESET引脚被拉低产生外部复位时,产生复位脉冲,从而使系统复位。 有三种复位方式: · 上电复位 · 手动复位 · 程序自动复位 上电复位 ,在上电瞬间,电容充电,RESET出现短暂的低电平,该低电平持续时间由电阻和电容共同决定,需求的复位信号持续时间约在1ms左右,计算方式如下: t = 1.1RC(固定计算公式) 1.1*10K*0.1uF
[单片机]
STM32 GPIO的API函数配置和使用技巧
一、前言 本篇开始对 STM32 的GPIO在实际开发设计中的使用配置和技巧进行探讨,可以先去回顾下之前介绍的GPIO的相关理论基础知识包括基本结构,工作模式和 寄存器 原理。 了解过STM32的GPIO相关的理论知识,这样在应用GPIO开发过程中,能更好的理解GPIO的特点,应用起来会更加的得心应手。 后续将从以下图1中所示的几个方面对G PI O应用设计中的步骤展开介绍。 本篇先介绍GPIO的基本API函数定义,配置初始化的流程,以及使用技巧; 针对将GPIO的引脚用于外部中断的功能将作为单独的一篇进行详细的讨论介绍。 图1 GPIO应用设计 二、API函数 STM32有多种类型的库,本节所介绍的STM32的GPIO
[单片机]
stm32上移植linux的实操案例经验分享
刚从硬件跳槽为嵌软时,没有任何一丝的准备。一入职,领导就交代了一项特难的任务——在stm32上移植linux! 瞬间我就懵了,没办法硬着头皮上吧,先搜集资料,我之前跑的是ok6410的板子上运行的linux,现在是在stm32上移植,以前stm32倒是玩过,研究生期间就捣鼓过它,但现在还没从抓烙铁的硬件当中缓过神来,就转到嵌入式软件的开发,更头疼的是stm32没有MMU!没有MMU!找了一下,好吧,有个uClinux! 于是开始学习各种相关的知识,了解到linux的启动一般是u-boot——》liunx内核——》根文件系统,那么首先要做个基于stm32的u-boot,先初始化时钟、外设、中断什么的,看了韦东山老师的视频感觉
[单片机]
初学stm32-通用定时器的使用
通用定时器概述 STM32F4 的定时器有14个,其中TIM2-TIM5,TIM9~TIM14属于通用定时器,TIM1 和TIM8 则属于高级控制定时器,TIM6和TIM7是基本定时器。 TIM2 到 TIM5 主要特性 16 位(TIM3 和 TIM4)或 32 位(TIM2 和 TIM5) 递增、递减和递增/递减自动重载计数器。 16 位可编程预分频器,用于对计数器时钟频率进行分频(即运行时修改) ,分频系数介于 1 到 65536 之间。 多达 4 个独立通道,可用于: — 输入捕获 — 输出比较 — PWM 生成(边沿和中心对齐模式) — 单脉冲模式输出 使用外部信号控制定时器且可实现多个定时器互连的同步电路。 发生如
[单片机]
基于STM32单片机的厨房系统设计
一.系统设计 本次厨房系统设计使用STM32单片机为主控,通过DHT11检测温湿度,通过烟雾浓度传感器检测烟雾浓度,通过按键调整温湿度和浓度阈值,检测到的数据通过LCD1602显示屏显示,当数据超过阈值时,蜂鸣器会进行报警。 图1 系统框图 二.硬件设计 本设计所采用的STM32F103C8T6是以Cortex-3为核心的单片机,它的功能是实现软件的执行,并对外部的器件、模块进行控制。该系统主要由DHT11温湿度检测电路,烟雾浓度检测电路,1602显示电路组成。 图2 硬件电路 三.软件设计 系统的软件逻辑清晰,首先先进行一次系统初始化,开始进行温湿度检测,烟雾浓度检测,判断温湿度和烟雾浓度参数是否超限,若超限则蜂鸣器
[单片机]
一种STM32使用串口DMA接收不定长数据的方法
1.UART初始化函数 void uart_init(u32 bound){ GPIO_InitTypeDef GPIO_InitStructure; //GPIO端口设置 USART_InitTypeDef USART_InitStructure; NVIC_InitTypeDef NVIC_InitStructure; RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA,ENABLE); //使能GPIOA时钟 RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1,ENABLE);//使能USART1时钟 GPIO_PinAFConfi
[单片机]