同时要记得把延时初始化函数设置好
1 //系统时钟初始化函数
2 //pll:选择的倍频数,从2开始,最大值为16
3 //pll:选择的倍频数,这里使用内部时钟,PLL为4就是4分频
4 void Stm32_Clock_Init(u8 PLL)
5 {
6 unsigned char temp=0;
7 MYRCC_DeInit(); //复位并配置向量表
8 // RCC->CR|=0x00010000; //外部高速时钟使能HSEON
9 RCC->CR|=0x00000001; //内部高速时钟使能HSEON
10
11 // while(!(RCC->CR>>17)); //等待外部时钟就绪
12 while(!(RCC->CR>>1)); //等待内部时钟就绪
13
14 RCC->CFGR=0X00000000; //APB1=DIV1;APB2=DIV1;AHB=DIV1;
15
16 PLL-=2;//抵消2个单位
17 // RCC->CFGR|=PLL<<18; //设置PLL值 2~16
18 RCC->CFGR|=PLL<<18; //设置PLL值 2~16 4倍频
19 RCC->CFGR|=0<<16; //PLLSRC ON ,内部时钟经过两分频后输入给下一个寄存器
20 FLASH->ACR|=0x32; //FLASH 2个延时周期
21
22 RCC->CR|=0x01000000; //PLLON
23 while(!(RCC->CR>>25));//等待PLL锁定
24 RCC->CFGR|=0x00000002;//PLL作为系统时钟
25 while(temp!=0x02) //等待PLL作为系统时钟设置成功
26 {
27 temp=RCC->CFGR>>2;
28 temp&=0x03;
29 }
30 }
关键字:STM32 内部时钟设置 寄存器
引用地址:
STM32内部时钟设置-寄存器版
推荐阅读最新更新时间:2024-03-16 15:27
STM32——ADC
一、ADC指标 有 18 个通道,可测量 16 个外部和 2 个内部信号源。各通道的 A/D 转换可以单次、连续、扫描或间断模式执行 ;ADC的结果可以左对齐或右对齐方式存储在 16 位数据寄存器中 ;模拟看门狗特性允许应用程序检测输入电压是否超出用户定义的高 / 低阈值。 对于 ADC 来说,我们最关注的就是它的分辨率、转换时间、ADC 类型、参考电压范围: (1)分辨率:12 位分辨率。不能直接测量负电压,所以没有符号位,即其最小量化单位 LSB= Vref+ / 212 。 (2)转换时间:转换时间是可编程的。采样一次至少要用 14 个 ADC 时钟周期,而 ADC 的时钟频率最高为 14MHz,也就是说,它的采样时
[单片机]
基于STM32的无线传感器网络系统设计
引言 无线传感器网络(Wireless Sensor Networks,WSN)是由分布在监测区域内的大量的传感器节点,通过无线通信的方式形成的多跳自组织网络,可以组成区域内的无线传感器网络,广泛应用于环境监测,如温度、湿度、压力、短距离无线通信等。 无线传感器网络,其主题是低成本、低功耗、多功能的集成化传感器网络。这些传感器具有无线通信、数据采集和处理、协同合作的功能。无线传感器网络能够通过各类集成化的传感器协作地实时监测、感知和采集各种环境或监测对象的信息,通过嵌入式系统对信息进行处理,并通过随机自组织无线通信网络以多跳中继方式将所感知信息传送到用户终端,使用户完全掌握监测区域的情况并作出反应。 1 无线传感器网络
[单片机]
STM32 iap 关键点记录
想到公司的单片机程序更新太频繁,而且都是在生产现场作业,而下载程序对我来说太费时间,对操作员来说又太复杂,于是就研究研究iap,看看能不能降低复杂度。 我是在st官网的iap例程基础上调试的,例程里芯片是stm32f2xx,而我的板子是stm32f103,需要些调整,改下芯片,掉换下函数库,编译不过的地方改一改,ok,编译下载跑起来。。。 接下来就比较费时间了,例程里只有bootloader部分,没有app部分的工程,对与一个没有接触过iap的人来说就不知从哪下手了,于是各种baidu,气人的是Jlink和stlink不知道被人拿哪里去了,只能用串口各种调试,最后终于能从Bootloader跳转到app里了。下面给些关键部
[单片机]
基于STM32的超声相控阵导盲系统研究
0 引言 根据世界卫生组织公布的数据,全世界目前有3 000多万人目盲,其中约有18%是中国人。针对盲人行动不便的情况,本文介绍了一种基于超声相控阵的盲人避障系统。 本文综合超声波的导盲设计,采用超声相控阵技术对障碍物进行探测,核心控制器件STM32为ST公司推出的基于CORTEX内核的32位MCU,具有丰富的外设和强大的数据处理能力。通过它对外围电路的控制,及其强大的信号处理能力,实瑰障碍物的探测以及环境的判断。 1 系统组成及原理 本设计是利用意法半导体有限公司推出的基于CORTEX 内核的高性能 32 位 MCU,STM32F103RBT6为核心硬件。多个超声探头按照一定规则组成的超声相控阵,通过芯片与探头及外围电
[单片机]
沙场点兵STM32微处理器全系列成员
众所周知,STM32系列32位Flash微控制器在电子行业中不管是以前还是现在都有着无可替代、无与伦比的地位。其基于ARM Cortex™‑M处理器,旨在为MCU用户提供新的开发自由度,集高性能、实时功能、数字信号处理、低功耗与低电压操作等特性于一身,同时还保持了集成度高和易于开发的特点,最重要的是,性价比高、价格便宜。 无可比拟且品种齐全的STM32产品基于行业标准内核,提供了大量工具和软件选项,使该系列产品成为小型项目和完整平台的理想选择。下面我们”沙场点兵”STM32系列中全系列成员,捕捉精髓,学习技术,创造可能…… NO.1:STM32 F0入门级Cortex™-M0 MCU 基于ARM® Cortex-
[单片机]
STM32固件库使用USART
1.USART的配置 (1)关键结构体 GPIO_InitTypeDef USART_InitTypeDef NVIC_InitTypeDef//用于接收的中断 1.1USART的TX在PA9,RX在PA10. 2.时钟线 2.1 USART时钟挂载在APB2上 RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOA, ENABLE); RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1, ENABLE);//配时钟 3.代码段 3.1(单发送) void usart_init(void){ GPIO_InitTypeDef gpio_
[单片机]
STM32启动文件初探之startup_stm32f10x_hd.s(Reset_Handler函数)
该文件主要实现目的: 设置初始SP 设置初始PC=Reset_Handler 设置向量表入口地址,并初始化向量表 调用SystemInit,把系统时钟配制成72M,SystemInit在库文件system_stm32f10.c定义 调转到标号_main,最终来到C程序文件 ; Reset handler Reset_Handler PROC EXPORT Reset_Handler IMPORT __main IMPORT SystemInit LDR R0, =SystemInit BLX R0
[单片机]
STM32触摸按键原理和电路设计
01触摸按键原理 触摸使用RC充放电原理: RC电路是指由电阻R和电容C组成的电路,它是脉冲产生和整形电路中常用的电路。 充电过程: 电源通过电阻给电容充电,由于一开始电容两端的电压为0,所以电压的电压都在电阻上,这时电流大,充电速度快。随着电容两端电压的上升,电阻两端的电压下降,电流也随之减小,充电速度小。充电的速度与电阻和电容的大小有关。电阻R越大,充电越慢,电容C越大,充电越慢。衡量充电速度的常数t(tao)=RC。 放电过程: 电容C通过电阻R放电,由于电容刚开始放电时电压为E,放电电流I=E/R,该电流很大,所以放电速度很快。随着电容不断的放电,电容的电压也随着下降。电流也很快减小。电容的放电速度与RC有关,R的阻值
[单片机]