stm32为什么要配置系统时钟

kuaidi.ping-jia.net  作者:佚名   更新日期:2024-07-16
STM32什么时候需要配置嘀嗒时钟呢

一般系统嘀嗒定时器用在操作系统上,做多任务调度用。比如ucos操作系统在每个嘀嗒定时器中断时调度一次(当然还有其他情况下也进行调度)。在不用操作系统的时候很少用,毕竟stm32有更强大的外设定时器。

简单理解就是,一般来说,STM32内部有一个8MHz的时钟(HSI时钟),系统上电默认的就是使用该时钟来运行程序,但这个内部的8MHz的精度并不高,也就是说有一定的误差。所以一般我们会在STM32芯片外部接一个8MHz的标准晶振(HSE时钟),配置系统时钟就是使用这个外部的HSE时钟经过内部倍频之后作为系统运行的时钟(sysclock),倍频成多少看你的STM32最高能支持多高的时钟频率,STM32f051C8T6(Cortex-M0)支持到48MHz,STM32F103ZET6(Cortex-M3)支持到72MHz。

这时它的运行规则吧,就像你家有总开关和电器开关,你习惯了让总开关开着,然后再开电器的开关。但是单片机不一样,先开小开关,然后等总开关以来,这样做程序运行的更快。因为获得PLL时钟需要等待较长的时间。

  • 基础知识(STM32F4探索者)
    答:深入理解存储器架构,特别是32位AHB总线矩阵,S0-S7总线以及AHB与APB之间的桥接至关重要。理解总线交汇点如何连接内外设备,如Cortex-M4与Flash,是理解系统运作的关键点。时钟系统是STM32F4的灵魂,涉及HIS、HSE、LSI、LSE和PLL等元件。在HAL库的SystemInit初始化阶段,你需要配置时钟以满足特定需求,如...
  • 嵌入式中为什么要设置时钟频率
    答:首先,任何外设都需要时钟,51单片机,stm32,430等等,因为寄存器是由D触发器组成的,往触发器里面写东西,前提条件是有时钟输入。51单片机不需要配置时钟,是因为一个时钟开了之后所有的功能都可以用了,而这个时钟是默认开启的,比如有一个水库,水库有很多个门,这些门默认是开启的,所以每个门都会出水...
  • stm32的系统时钟问题
    答:嗯!系统时钟有内部时钟和外部时钟!当我们需要使用外部时钟的时候才需要配置!一般不配置就直接使用内部时钟!
  • 点亮LED灯的STM32程序中为什么要首先设置外设时钟使能函数#define RC...
    答:stm32的每一个引脚都有始终控制,这样在不用的时候可以关闭时钟来达到节能的目的,所以,如果要使用外设,必须先打开时钟,否则没有办法进行操作的。。。具体函数是 RCC_APB2PeriphClockCmd(uint32_t RCC_APB2Periph,FunctionalState NewState)RCC_APB2Periph是你要打开或者关闭的外设,NewState是enable...
  • STM32的打开IO口时钟什么意思
    答:你要知道为什么需要时钟。单片机必须要有时钟才能正常运行,STM32有外部时钟和内部时钟的区别。但无论是外部还是内部时钟,都会经过分频或倍频最后得到外设的时钟,这样外设才能正常运行。而打开时钟就是允许接收分频后的频率。比如外部时钟晶振你是8M,经过倍频后得到72M,然后可分频2、4、6、8……给ADC是...
  • stm32的rtc实时时钟实验设计要求目的
    答:stm32的rtc实时时钟实验设计要求目的是测试功能。STM32的RTC模块拥有一组连续计数的计数器,在相应软件配置下,可提供时钟日历的功能。修改计数器的值可以重新设置系统当前的时间和日期。
  • 请问stm32的引脚时钟设置或者其他的时钟设置有什么意义吗?程序的执行...
    答:为什么引脚也会需要时钟呢?---那个是CLK输入,就是让CPU知道“几点了”,该做什么了 51单片机的引脚也需要时钟吗?---需要,不过也不是必须的,有些有片内时钟,看你自己应用情况 这到底是什么意思啊,时钟不就是来推动程序执行的,怎么引脚等外设会需要时钟?引脚不是什么外设,引脚是输入输入的一...
  • STM32F40X时钟树分析和代码解析
    答:启用HSE(High Speed External Oscillator),并确保其稳定工作。配置RCC_PLL(Phase Locked Loop Clock),选择HSE作为源,设置合适的分频系数M、N和P以达到所需的系统时钟频率。启动PLL,等待RCC_CR_PLLRDY标志确认其准备就绪。如果特定型号支持,可能需要启用时钟过驱动(如STM32F427_437xx、STM32F429_...
  • 对于一个STM32工程,如何知道需要初始化哪些东西?
    答:首先,stm32的时钟是根据需要开启的,所以当你要操作IO口的时候就得开启时钟RCC_APB2PeriphClockCmd 然后你得配置IO口的速率(GPIO_InitStructure.GPIO_Speed),输出或输入的模式(GPIO_InitStructure.GPIO_Mode ),以及用到的引脚(GPIO_InitStructure.GPIO_Pin = GPIO_LED_ALL;)当然这只是配置IO口...
  • stm32芯片自带的RTC和DS1302的实时时钟区别大不大
    答:stm32本身就有RTC模块,还有掉电运行功能,谁还会去搞ds1302,多此一举嘛。