复位:
复位所有外设 RCC->APB1RSTR = 0x0000 0000
RCC->APB2RSTR = 0x0000 0000
关闭所有外设时钟 RCC->AHBENR = 0x0000 0014
RCC->APB1ENR = 0x0000 0000
RCC->APB2ENR = 0x0000 0000
RCC->CR:打开 HSI,关闭 PLLON,HSEON,CSSON,关闭 HSE 旁路
RCC->CFGR:设置 MCO 没时钟输出,HSI 做系统时钟,复位所有外设时钟频率,USB,时钟选择器为 0
时钟配置:
RCC->CR:打开 HSEON,检测就绪
RCC->CFGR:设置外设时钟频率(USB,AHB,APB1,APB2),设置输入的时钟源(PLL时钟频率,或HSE)
RCC->CR:打开 PLLON,检测就绪
RCC->CFGR:设置系统时钟源为 PLL时钟,检测就绪
关键字:STM32 系统时钟复位 时钟配置
引用地址:
STM32 系统时钟复位与系统时钟配置
推荐阅读最新更新时间:2024-03-16 15:41
STM32外部中断
68个可屏蔽中断通道,包括EXTI,TIM,ADC,USART,SPI,I²C,RTC等多个外设(F1系列最多的数量,以型号为主); 使用NVIC统一管理中断,每个中断通道都拥有16个可编程优先等级,可以对优先级进行分组,进一步设置抢占优先级和响应优先级。 AFIO内部图 EXTI内部图 中断和事件的区别 NVIC的中断优先级由优先级寄存器的4位(0-15)决定,这四位可以进行切分,分为高N位的抢占优先级, 和4-n位的响应优先级; 抢占优先级高的可以中断嵌套,响应优先级高的可以优先排队,抢占优先级和响应优先级均相同的话, 按照中断号排队。 操作的是NVIC- IPRx寄存器 中断示例 mai
[单片机]
基于信息融合技术的无线火灾探测报警系统
火的应用对人类的文明发展起了重要的作用,而火灾也一直威胁着人类的生活,造成了重大的生命财产损失。尤其近年来,随着国家经济的快速发展,城市化程度的进一步提高,人员密集场所数量不断增加,火灾的发生频率越来越大,需要社会各界引起高度重视,及时消除隐患,确保消防安全。 目前,火灾自动探测报警系统的应用广泛,在很多地方已成为必备装置,起到了安全保障作用。但在火灾探测报警系统的实际应用中,也出现了许多问题,市场现有产品质量参差不齐,存在产品功能单一、可靠性稳定性不高;只对某一种火灾参数进行探测,出现误报漏报等诸多问题。随着微处理器技术、传感技术、通讯技术、控制技术和人工智能技术等的不断发展,火灾探测报警系统的主要发展方向向着高可靠、低误
[单片机]
STM32学习之:GPIO最简单操作步骤
需用到的 .c 库函数为 stm32f10x_gpio.c 和stm32f10x_rcc.c 1. 启动相应Port x的RCC(复位始终控制) RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOx, ENABLE); x可以是A到G , GPIO都由APB2(高速外设)时钟控制 2. GPIO初始结构中的三个参数赋值(该结构名需程序前定义: GPIO_InitTypeDef GPIO_InitStructure; ) 三个参数分别为 引脚:GPIO_InitStructure.GPIO_Pin=GPIO_Pin_6|GPIO_Pin_7|GPIO_Pin_8|GPIO_Pin_
[单片机]
STM32之DMA
DMA,全称为:Direct Memory Access,即直接存储器访问。DMA传输方式无需CPU 直接控制传输,也没有中断处理方式那样保留现场和恢复现场的过程,通过硬件为RAM 与I/O设备开辟一条直接传送数据的通路,能使CPU 的效率大为提高。 STM32中 DMA1有7个通道,DMA2有5个通道(DMA2 仅存在大容量产品中)。DMA挂载的时钟为AHB总线,其时钟为72Mhz,所以可以实现高速数据搬运。 STM32F103RBT6 只有1 个DMA控制器,DMA1 ,下面我们就针对DMA1 进行介绍。 从外设(TIMx、ADC、SPIx 、I2Cx 和USARTx )产生的DMA请求,通过逻辑或输入到
[单片机]
基于STM32从零写操作系统系列---熟悉win+linux交叉编译环境
本章将讲述交叉编译环境的学习,环境平台是ubuntu,工具链是gcc-arm-none-eabi。 目的: 熟悉交叉编译环境,了解如何下载BIN格式的程序文件到单片机。 实验1: 一个简单的交叉编译与程序下载过程 环境搭建(以我的平台为例): 安装win7 64位系统,具体教程可百度 在windows系统上安装VMware虚拟机,具体教程可百度 在虚拟机上新建虚拟机,安装ubuntu系统 在ubuntu系统使用命令安装make(如果没有),gcc-arm-none-eabi交叉编译工具 在windows系统上安装ST-Link Utility软件,用于下载bin格式文件到是stm32单片机 在windows系统上安装编
[单片机]
stm32系统时钟配置问题
系统从上电复位到72mz配置好之前,提供时钟的是内如高速rc振荡器提供8MZ的频率,这个由下面void SystemInit (void)函数的前面的一部分代码来完成的和保证的: RCC- CR |= (uint32_t)0x00000001; #ifndef STM32F10X_CL RCC- CFGR &= (uint32_t)0xF8FF0000; #else RCC- CFGR &= (uint32_t)0xF0FF0000; #endif RCC- CR &= (uint32_t)0xFEF6FFFF; RCC- CR &= (uint32_t)0xFFFBFFFF;
[单片机]
如何画出STM32系列单片机的原理图
关于STM32F1系列单片机的一个常识: 看上图得知,根据Flash存储器的大小,把STM32F1分为了4种类型,分别是“低密度”“中密度”“高密度”“超高密度”,然后还有一种“互联型”。我们使用的STM32F103VET6的FLASH大小是512K,所以属于“高密度”型的。 我们这次要做的,就是把单片机STM32F103VET6的原理图画出来。 画的时候,要看STM32F103的datasheet。这个datasheet可以在ST的官网上找到。记住,是数据手册,不是参考手册。ST的官网是支持中文的,方便英文不好的朋友浏览。 打开ST的官方网站,看上图第一个红色矩形框里面的路径,依次到这一页。然后点击“数据手册”: 文
[单片机]
STM32 RTC实时时钟(二)
上次实验完成了对实时时钟的基本功能——计时的实验,这次在计时的基础上对RTC的可编程闹钟的功能进行测试。 RTC 单元提供两个可编程闹钟,即闹钟 A 和闹钟 B。 可通过将 RTC_CR 寄存器中的 ALRAE 和 ALRBE 位置 1 来使能可编程闹钟功能。如果日历亚秒、秒、分钟、小时、日期或日分别与闹钟寄存器RTC_ALRMASSR/RTC_ALRMAR 和RTC_ALRMBSSR/RTC_ALRMBR 中编程的值相匹配,则 ALRAF 和 ALRBF 标志会被置为1。可通过 RTC_ALRMAR 和 RTC_ALRMBR 寄存器的 MSKx 位以及 RTC_ALRMASSR 和RTC_ALRMBSSR 寄
[单片机]