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

建设网站的准备工作怎样做一个网站

建设网站的准备工作,怎样做一个网站,关于网站开发的网站,做网站起什么名字好呢前言 STM32的时钟系统由多个时钟源和时钟树组成时钟源包括主时钟源(HSE)、内部高速时钟源(HSI)、内部低速时钟源(LSI)和外部低速时钟源(LSE)。时钟树由多个时钟分频器和时钟门控器组…

前言

  • STM32的时钟系统由多个时钟源和时钟树组成
  • 时钟源包括主时钟源(HSE)、内部高速时钟源(HSI)、内部低速时钟源(LSI)和外部低速时钟源(LSE)。
  • 时钟树由多个时钟分频器和时钟门控器组成,可以将输入时钟源分频得到多个时钟信号,并且根据需要打开或关闭时钟门控器来控制时钟信号的输出。

下面这个是我从AI中查询的,我觉得还是很有参考意义的

STM32的主时钟源为HSE,可以通过外部晶振或者外部时钟信号输入。内部高速时钟源HSI为8MHz,可以通过RCC_CR寄存器控制开关。内部低速时钟源LSI为40kHz,主要用于RTC模块。外部低速时钟源LSE为32.768kHz,同样用于RTC模块。

时钟树主要由以下几个部分组成:

1.系统时钟分频器(SYSCLK):用于分频主时钟源或者内部高速时钟源,得到系统时钟(SYSCLK)。

2.AHB总线时钟分频器(HCLK):用于分频系统时钟,得到AHB总线时钟(HCLK)。

3.APB1总线时钟分频器(PCLK1):用于分频AHB总线时钟,得到APB1总线时钟(PCLK1)。

4.APB2总线时钟分频器(PCLK2):用于分频AHB总线时钟,得到APB2总线时钟(PCLK2)。

5.时钟门控器:用于控制各个外设的时钟开关,从而节省功耗。

下面对Stm32的时钟系统做一个系统性的复习和总结

Stm32时钟系统

时钟系统,理解时钟,看那个CubeMX时钟配置较为方便,虽然还是比较喜欢使用标准库哈哈

在Stm32中,有五个时钟源,分别为

HSI、HSE、LSI、LSE、PLL

  • 从时钟频率来看可以分为高速时钟源和内部时钟源

    HSI、HSE、PLL是高速时钟,LSI和LSE是低速时钟

  • 从来源来看分为外部时钟源和内部时钟源

    HSE和LSE是外部时钟源,其他的是内部时钟源


HSI 高速内部时钟

HSI是高速内部时钟,RC振荡器,频率为8MHZ

由内部的8MHZ的RC震荡器所产生

可以直接作为系统时钟,或者二分频作为PLL输入

看下图就清楚了


HSE 高速外部时钟

HSE是高速外部时钟,他的时钟信号由以下两种时钟源产生

  • HSE外部晶体/陶瓷谐振器,说的简单一些就是晶振
  • HSE用户外部时钟

这个频率的范围为4MHZ-16MHZ

一般接8MHZ的晶振

image-20230825105654801


PLL 锁相环倍频输出

PLL是锁相环倍频输出,PLL的输入可选

  • HSI二分频后输入
  • HSE输入
  • HSE二分频后输入

倍频可以选择2-16倍频,但是最大的输出频率不能超过72MHZ

时钟的选择和选择倍频因子必须在其被激活前完成

如果要使用USB口,PLL必须被设置为48或72MHZ的时钟,用于提供48MHZ的USBCLK时钟

image-20230825110312707


LSE 低速外部时钟

LSE是低速外部时钟,接外部晶振,频率为32.768KHZ

它为实时时钟RTC,或者其他定时功能提供一个低功耗且精确的时钟源

image-20230825120605594


LSI 低速内部时钟

LSI是低速内部时钟,RC震荡器,频率为40KHZ,独立看门狗的时钟源只能是LSI,同时LSI是一个低耗的时钟源

它可以在停机和待机模式下保持运行,为独立看门狗自动唤醒单元提供时钟


SYSCLK 系统时钟的选择

系统时钟SYSCLK的时钟来源可以是以下几种

  • HSI 高速内部时钟 8MHZ
  • HSE 高速外部时钟 8MHZ
  • PLL 锁相环输出 8MHZ-72MHZ(最大不能超过72MHZ)

image-20230825124223906

系统中所有外设的时钟来源都是来源于SYSCLK,SYSCLK通过AHB时钟分频后,送给各模块使用

其中

  • AHB总线、内核、内存和DMA使用的是HCLK时钟
  • 8分频至系统时钟,就是systick,滴答时钟
  • 至Cortex自由运行时钟FCLK
  • APB1外设时钟和定时器2-7
  • APB2外设时钟和定时器1和定时器8
  • ADC,可分频2、4、6、8分频,ADCCLK最大14MHZ

image-20230825135248047


RTC 实时时钟

RTC实时时钟,有以下三个来源

  • HSE 128分频
  • LSE 作为RTC时钟的输入
  • LSI 作为RTC时钟的输入

image-20230825124054621


CSS 时钟安全系统

一般来说,MCU的时钟基本上来源于外部晶振8MHZ,经过PLL锁相环倍频后,传递给系统时钟

但是如果晶振电路出现了错误,产生不了精确的时钟,那么CSS将会起作用

他会把系统时钟自动切换成HSI内部高速晶振,频率为8MHZ


MCO 内部时钟输出引脚

MCU允许输出时钟信号到外部MCO引脚,这个引脚是PA8

这个MCO时钟输出引脚可以输出

  • PLL锁相环2分频
  • HSI 内部高速时钟
  • HSE 外部高速时钟
  • SYSCLK 系统时钟

image-20230825124429338


STM32时钟框图

image-20230825124722666

image-20230825124800113


STM32启动文件的作用以及CL、VL、XL、LD、MD、HD的含义

启动文件的作用,在Stm32f10x_hd.s中,文件注释中已经详细介绍,经过翻译如下

  • 设置初始栈顶指针SP
  • 设置初始PC,让其初始值为Reset Handler
  • 设置除ISR地址外的向量表项
  • 配置时钟系统,同时配置外部时钟系统
  • 安装在STM3210E-EVAL板上的SRAM作为数据内存使用(可选,由用户决定)
  • 在C库中调用main()函数
  • 复位后,CortexM3处理器处于线程模式,优先级为Privileged,并且栈Stack设置为Main

image-20230825175753621

总的来说就是

  • 初始化栈指针和必要的程序
  • 从Systeminit()函数进入到main()函数(对于stm32,定义系统时钟首先在system_stm3210x.c文件中修改宏即可)
  • 建立中断服务入口地址(将中断向量和中断服务函数链接起来)

CL、VL、XL、LD、MD、HD 文件的含义

Stm32根据不同的使用场景和FLASH的大小,分为了不同的产品,不同的产品的缩写不同

  • CL : 互联型产品,Stm32F105/107 系列
  • VL :超值型产品,Stm32F100系列
  • XL : 超高精度产品,Stm32F101/103系列
  • LD : 低密度产品,FLASH小于64k
  • MD : 中密度产品,FLASH等于64K或者128K
  • HD : 高密度产品, FLASH大于128K

SysTick 滴答定时器

SysTick主要用来延时,或者是实时系统的心跳时钟,这样可以节省MCU的资源,不用浪费一个定时器

  • SysTick是一个24位的到倒计数定时器,当计数到0时,将从RELOAD寄存器中自动重装载定时初值,开始新一轮计数。只要不把SysTick控制及状态寄存器中的使能位清除,就永不停息

  • 即使在睡眠状态下也能工作运行

使用SysTick来实现延时,极大的节省了系统资源

  • SysTick定时器被捆绑在NVIC中断,用于产生SYSTICK中断(中断号为15)

SysTick的中断优先级也可以设置

Stm32F10xxx参考手册中 ,系统滴答校准值为9000,当系统滴答时钟设定为9MHZ,为HCLK/8的最大值时,产生1ms的基准

image-20230825184034817

CM3为SysTick提供两个时钟源

  • 内核的自由运行时钟FCLK(这个就是HCLK时钟)
    • 自由表现在不来自于系统时钟HCLK
    • 在系统时钟停止时,FCLK也继续运行
  • 外部参考时钟STCLK (这个一般是HCLK,AHB总线的1/8,9MHZ)

SysTick滴答定时器,在FreeRTOS中,就是使用SysTick滴答定时器来推动任务的切换和时间的管理

固件库中SysTick的配置在misc.ccore_cm3.h文件中

  • 其中SysTick的时钟源选择在misc.c文件中
  • 初始化SysTick在在core_cm3.h文件中

SysTick的时钟源选择
image-20230825191026965

SysTick的初始化

开启SysTick中断,并且使能SysTick中断,以及SysTick中断的时间间隔

简单的说ticks的值就是relaod的值,中断会在val==0的时候产生,两次中断就是val的值从reload到0的时间

从初始值开始,向下计数,计数到0,产生中断,如此反复
image-20230825193054148


使用SysTick实现延时

选择外部时钟HCLK,八分频,此时时钟为9MHZ

image-20230825193505904

我们在上面已经说过,当系统滴答时钟设定为9MHZ,为HCLK/8的最大值时,产生1ms的基准

初始化完成后,即可实现延时

将延时加载到LOAD寄存器中,并且清空计数器,等待时间到达,关闭计数器,清空计数器

间间隔

简单的说ticks的值就是relaod的值,中断会在val==0的时候产生,两次中断就是val的值从reload到0的时间

从初始值开始,向下计数,计数到0,产生中断,如此反复

image-20230825193054148

使用SysTick实现延时

选择外部时钟HCLK,八分频,此时时钟为9MHZ

image-20230825193505904

初始化完成后,即可实现延时

将延时加载到LOAD寄存器中,并且清空计数器,等待时间到达,关闭计数器,清空计数器

image-20230825193912698

http://www.hkea.cn/news/31484/

相关文章:

  • wordpress主菜单下拉箭头怎么设置台州seo排名优化
  • 网站系统管理员模块关键词查找工具
  • 望江县建设局网站外贸seo推广招聘
  • 微信网站上传图片手机怎么制作网站
  • 简单做网站需要学什么搜索引擎有哪些网站
  • 网站备案信息加到哪里如何进行网站推广
  • 昭通网站制作aso优化技巧
  • 制作网站时怎样做滚动字幕新网站多久会被百度收录
  • 余姚物流做网站微信指数是搜索量吗
  • 怎样做网站轮播今日国内重大新闻事件
  • 想给大学做网站百度网盘搜索神器
  • jsp网站开发论文官方app下载安装
  • 关于机场建设的网站今日疫情最新情况
  • 网站域名注册服务商google浏览器官方
  • 通过网站开发工具怎么改自动跳网站百度指数有哪些功能
  • 可以发锚文本的网站百度搜索官方网站
  • 东莞网站建设企慕简述如何优化网站的方法
  • 可以做网站的公司seo外包
  • 自己怎么做网站视频赚钱5g网络优化培训
  • 数据库修改网站管理员密码seo网站有优化培训吗
  • 福田做商城网站建设找哪家公司好抖音怎么运营和引流
  • 厘米售卡站怎么做网站禁止搜索引擎收录的方法
  • 网站首页滚动图片怎么做谷歌搜索关键词排名
  • 嵩县网站开发友情链接获取的途径有哪些
  • 国家企业信息公示网(广东)海南快速seo排名优化
  • 高端网站设计 上海徐州seo排名公司
  • 泰安网站建设公司排名石家庄最新消息
  • 域名只做邮箱没网站要备案吗常见的网络推广方式包括
  • 昆山建设局网站360搜索首页
  • 正常做网站多少钱无锡网站制作无锡做网站