当前位置: 首页 > wzjs >正文

邢台专业网站建设公司上海百度seo点击软件

邢台专业网站建设公司,上海百度seo点击软件,欧洲美妇做爰网站,网站seo优化的目的一、时钟系统基础1. STM32时钟系统概述STM32的时钟系统是一个复杂而精密的架构,负责为整个微控制器提供各种频率的时钟信号。理解时钟系统对于STM32的开发和优化至关重要。2. 时钟系统的组成(振荡器,唤醒定时器,倍频器&#xff0c…

一、时钟系统基础

1. STM32时钟系统概述

STM32的时钟系统是一个复杂而精密的架构,负责为整个微控制器提供各种频率的时钟信号。理解时钟系统对于STM32的开发和优化至关重要。

2. 时钟系统的组成

(振荡器,唤醒定时器,倍频器,分频器)

振荡器(Oscillator):时钟源,包括外部晶体和内部RC。产生信号的源头。

锁相环(PLL,倍频器):对时钟信号进行倍频。

分频器(Prescaler/Divider):对时钟信号进行分频。

时钟切换与控制逻辑:选择和分配时钟源,控制外设时钟开关。

外设时钟分配:为各外设分配合适的时钟。

(可选)时钟输出(MCO):将时钟信号输出到外部。

3. 振荡器分类

在STM32时钟系统中,分别指的是晶体振荡器和RC振荡器,它们是常见的时钟源类型。

3.1 晶体振荡器(Crystal Oscillator)

原理:

利用石英晶体的压电效应,产生非常稳定和精确的振荡信号。

优点:

频率精度高(ppm级别)

温度稳定性好

适合对时钟精度要求高的应用(如USB、RTC、通信等)

缺点:

启动时间较长(通常几毫秒)

成本较高

需要外部元件(晶体和负载电容)

在STM32中的应用:

HSE(High Speed External):高速外部晶体(如8MHz、12MHz等),常用于主系统时钟

LSE(Low Speed External):低速外部晶体(32.768kHz),常用于实时时钟(RTC)

3.2 RC振荡器(Resistor-Capacitor Oscillator)

原理:

利用电阻和电容充放电特性产生振荡信号,通常为片上集成的RC电路。

优点:

成本低

启动快

不需要外部元件

缺点:

频率精度较低(受工艺、温度、电压影响大)

稳定性较差

不适合对时钟精度要求高的场合

在STM32中的应用:

HSI(High Speed Internal):高速内部RC振荡器(如8MHz、16MHz等),适合一般应用

LSI(Low Speed Internal):低速内部RC振荡器(如40kHz),常用于独立看门狗、低功耗定时等

3.3 区别:

特性晶体振荡器(Crystal)RC振荡器(RC)
精度
稳定性
成本
启动速度
外部元件需要不需要
典型用途RTC、主时钟、USB等看门狗、一般应用

 3.4 STM32时钟源分类

HSI(High Speed Internal):高速内部RC振荡器(如8MHz、16MHz等),适合一般应用HSE(High Speed External):高速外部晶体(如8MHz、12MHz等),常用于主系统时钟

LSI(Low Speed Internal):低速内部RC振荡器(如32kHz),常用于独立看门狗、低功LSE(Low Speed External):低速外部晶体(32.768kHz),常用于实时时钟(RTC)

红色是一般常用的频率,也是现在用的。

3.5 时钟树

时钟树(Clock Tree)是指单片机内部所有时钟信号的来源、分配和流向的结构图。

它形象地展示了各种时钟源(如外部晶体、内部RC、PLL等)如何通过分频、倍频、切换等方式,最终分配到各个总线和外设。

三、滴答定时器

滴答定时器是CPU内部的,定时器是CPU外部的。

1. 概念

  • SysTick是Cortex-M系列内核(如STM32F1/F4等)内置的一个24位递减计数定时器。
  • 主要用于操作系统节拍(tick),也常用于周期性中断、延时等功能。
  • 和NVIC配合使用(可以产生异常信号(等价与中断,在CPU内部产生的叫做异常,在CPU外部产生的叫做中断))

2. 工作原理

设置LOAD寄存器,决定定时周期。

启动SysTick,计数器开始递减。

计数到0时,自动重装载,并可产生中断。

在中断服务函数中处理定时任务。

注意:一定要知道,HZ单位是什么意思,这是震动的频率,1HZ就是一秒震动一次,就是电平变化一次,1KHZ就是一秒震动1000次。

3. 滴答定时器分析

补充:

自动重装载寄存器(ARR):设定计数器的最大值,计数到达后清零重计。

预分频器(PSC):对时钟进行分频,调节计数速度。

找到我们的滴答时钟:确认输入频率是4MHZ,所以重载寄存器的默认就是4000-1,所以滴答定时器默认一毫秒触发一次异常(中断),因为设置的uwTick提供一个1ms的时间基准

系统滴答定时器默认一毫米触发一次异常中断)

uwTick作用就是提供一个1ms 时间基准

HAL_Delay函数原型,只要进入延时函数,就会进行最少一毫秒的延时(当Delay=0,wait也会自增一次,这就是为什么在确定ARR和PSC都要减一,因为默认都会进行一次1ms的延时)

四、RCC

1. RCC

  • RCC(Reset and Clock Control)是STM32单片机内部的一个外设模块,用于管理和控制整个芯片的时钟和复位功能。
  • 它是一个功能单元,就像GPIO、USART、ADC等外设一样。

2. RCC寄存器

  • RCC寄存器是RCC模块内部的一组控制和状态寄存器。
  • 这些寄存器用于配置和控制RCC模块的各种功能,比如时钟源选择、分频、外设时钟开关、复位等。
  • 你通过读写RCC寄存器,来实现对时钟和复位的管理。

3. 二者的关系

  • RCC是一个外设模块(功能单元)。
  • RCC寄存器是RCC模块的“操作面板”,是你和RCC模块“对话”的接口。
  • 你通过操作RCC寄存器,来实现对RCC模块的各种功能控制。

五、TIM定时器

1. 概念

TIM是Timer(定时器)的缩写。STM32中有多种定时器,统称为TIM定时器。

它们可以用于定时、计数、PWM输出、输入捕获、输出比较、编码器接口等多种功能。

2. STM32U5的定时器分类

类型典型型号通道数主要功能
基本定时器TIM6, TIM7主要应用用于驱动DAC
通用定时器TIM15, TIM16,TIM17等2定时计数,PWM输出,输入捕获,输出比较
通用定时器TIM2, TIM3,TIM4,TIM5等4定时计数,PWM输出,输入捕获,输出比较
高级定时器TIM1, TIM84带死区控制和紧急刹车,可用于PWM电机控制

3. TIM定时器框图

TIM定时器的基本结构

计数器(CNT):记录当前计数值。

自动重装载寄存器(ARR):设定计数器的最大值,计数到达后清零重计。

预分频器(PSC):对时钟进行分频,调节计数速度。

捕获/比较寄存器(CCR):用于输入捕获或输出比较。

控制寄存器(CR1/CR2):配置定时器的工作模式。

补充:预分频器,计数器和自动重载寄存器是基本三部分

4.定时器的定时周期计算公式:

T定时=(PSC+1)×(ARR+1)/FTIMT​

  • PSC:预分频器值
  • ARR:自动重装载值
  • F_TIM:定时器时钟频率

注意:(1)T定时就是定的中断时间

(2)PSC和ARR必须都不大于65535

5.定时器实验

目标:实现LED3随着定时器闪烁,时间0.3秒一次

 (1)配置RCC

控制定时器

(2)配置TIM17定时器

查看FTIMT​

先查看TIM17在哪个总线上(在SPB2上)

找到FTIMT = 4MHZ

PSC和ARR自己计算,得出定时时间(不唯一,只要不超出范围)

(3)配置NVIC

用来触发中断,计时器到时间就会触发中断

(4)编写程序实现

定时器中断回调函数:

__weak void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim);

开启定时器函数:

HAL_StatusTypeDef HAL_TIM_Base_Start_IT(TIM_HandleTypeDef *htim);
1. 重写回调函数:

2. 开启定时器:

六、PWM

1. 概念:

PWM是一种通过改变脉冲信号的高电平宽度(占空比),来控制平均输出电压或能量的方法。

  • 周期:一组高低电平的总时间
  • 占空比:高电平时间/周期时间 × 100%

2. PWM的主要用途

  • 电机调速(如直流电机、舵机)
  • LED亮度调节
  • 加热器功率控制
  • 音频信号合成
  • 数字-模拟信号转换(DAC)

3. STM32中如何产生PWM?

STM32的TIM定时器(尤其是通用定时器和高级定时器)可以很方便地输出PWM信号。

3.1 输入捕获:

输入捕获是一种利用定时器记录外部信号特定时刻(如上升沿、下降沿)到达时,定时器计数值的功能。

输入捕获测量PWM的原理

1. 定时器计数器以已知频率递增。

2. 输入捕获通道连接到PWM信号输入引脚。

3. 配置定时器在上升沿和下降沿时分别捕获计数值。

4. 通过两次上升沿之间的计数差,得到周期。

5. 通过上升沿和下一个下降沿之间的计数差,得到高电平宽度。

计算公式:
  • 频率 = 定时器时钟 / 周期计数
  • 占空比 = 高电平宽度 / 周期计数 × 100%

3.2 输出比较:

此项功能是用来控制一个输出波形,当计数器与捕获/比较寄存器的内容相同时,输出比较功能做出相应动作,比如电平的翻转。通常用于生成PWM波形。

3.3 输出过程:

当0-t1这段时间,计数器寄存器的CNT的值是小于CCR,输出高电平。

当t1-t2这段时间,计数器寄存器的CNT的值是大于CCR且小于ARR的,输出低电平。

当CNT的值达到ARR里的值时,产生溢出事件,自动清零再次从0开始向上计数。

补充:关键寄存器

  • ARR:决定PWM周期
  • CCR:决定高电平时间(占空比)
  • PSC:预分频器,调节定时器计数速度

3.5 PWM输出的基本配置流程

目标:实现风扇百分之五十功率转动。

(1)使能定时器和GPIO时钟(通过RCC)

和上面设置RCC一样

(2)配置GPIO为复用推挽输出(风扇)

(3)配置定时器TM3
PWM模式

同时设置ARR、PSC、CCR

(4)使能定时器和通道输出

开启PWM时钟函数:

HAL_StatusTypeDef HAL_TIM_PWM_Start(TIM_HandleTypeDef *htim, uint32_t Channel)

回调函数还是:(但是用不到)

__weak void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim);

我们可以看到对TIM3初始化的函数里有分屏等配置

七、练习

实现按键控制风扇转动速度。

(1)设置按键引脚类型

(2)添加按键能触发中断

(3)设置按键中断类型(下降沿)

(4)回调函数内添加事件发送时,提高定时器TIM3的CCR(决定高电平时间)从而增大风扇的功率。

八、总结

1. 时钟系统是STM32微控制器的核心基础,决定了各个模块的运行速度和精度。理解时钟源的分类(晶体、RC)、时钟树结构及其分配方式,有助于合理配置系统和外设的时钟,提高系统性能和稳定性。

2. RCC(复位与时钟控制)模块是时钟系统的管理中枢。通过RCC寄存器,可以灵活地选择时钟源、配置分频、使能或关闭外设时钟,实现对功耗和性能的优化管理。

3. 滴答定时器(SysTick)是Cortex-M内核自带的定时器,常用于系统节拍和延时。它以系统主时钟为基准,提供了高精度的1ms时间基准,便于实现延时和定时任务。

4. TIM定时器是STM32中功能丰富的外设,支持定时、计数、PWM输出、输入捕获、输出比较等多种模式。通过合理配置PSC、ARR等参数,可以实现精确的定时和多样的控制功能。

5. PWM(脉宽调制)是定时器的重要应用之一,广泛用于电机调速、LED亮度调节等场合。掌握PWM的原理、占空比和周期的设置方法,有助于实现对外部设备的精细控制。

6. 输入捕获功能可以用来测量外部PWM信号的频率和占空比,扩展了定时器的应用范围。

http://www.dtcms.com/wzjs/96596.html

相关文章:

  • 做摄影网站的公司免费seo营销优化软件下载
  • 网站banner切换百度云盘登录
  • wordpress nas关键词优化按天计费
  • 营销网站更受用户欢迎的原因是app推广一手单平台
  • 网络推广网站 优帮云优秀营销案例分享
  • 受欢迎的做pc端网站百度竞价推广
  • 做网站怎么跟客户谈话网络营销特点
  • 网站项目的流程营销型网站建站推广
  • 做视频网站 带宽计算网站怎么制作教程
  • 北京设计公司排行北京seo优化推广
  • 贸易公司寮步网站建设哪家好高级搜索引擎
  • 郑州怎么做外贸公司网站百度竞价系统
  • wordpress暴力西安seo外包行者seo
  • 个人网站做淘宝客会怎样企业宣传册
  • 在线解压缩网站网络seo排名
  • 手机传奇手游发布网站bt兔子磁力搜索引擎最新版
  • 网站备案查询是什么意思站长工具查询入口
  • 在线建设网站制作seo是哪个国家
  • 网站认证是什么电脑培训学校哪家最好
  • 城乡与住房建设厅网站首页怎么安装百度
  • 凯胜东营小程序开发沈阳seo推广
  • 做动态网站后台有单独的页面么北京网站优化企业
  • 福州做公司网站杭州排名优化软件
  • 做网站时怎样把文字放在中间长沙网站推广公司排名
  • 做蛋糕比较火的网站北京网站优化公司
  • 建设银行河南分行网站软件工程培训机构哪家好
  • 做管理信息的网站怎么做公司网站
  • 做外贸网站用哪些小语种青岛seo服务公司
  • 温岭手机网站建设百姓网推广电话
  • 怎么用webstorm做网站宁波厂家关键词优化