首页
学习
活动
专区
圈层
工具
发布

一文精通STM32时钟树-以F401为例

D-Code:此总线用于将 CPU 的 D-Code 总线(数据加载和调试访问)连接到 Flash 数据接口。...APB1和2都在角落里面,右下角 APB1上面连接的是低速外设,包括电源接口、备份接口、CAN、USB、I2C1、I2C2、USART2、USART3等。...HSE也是STM32芯片的默认时钟源之一,其频率范围可以在1MHz到25MHz之间。HSE可以作为系统时钟和PLL锁相环输入,还可以经过128分频后输入给RTC。...靠上一点是HSI 高速内部时钟源(Internal),时钟频率为8MHz。HSI是STM32芯片默认的时钟源之一,因为其时钟稳定性和精度较高。可作为系统时钟或PLL锁相环的输入。...所以可以说Systick属于时钟的一种。 Systick计时器由计数器和中断控制器组成,它的计数器可以在芯片上电后自动开始计数,时间间隔由寄存器SYST_RVR来设置,一般设置为1ms。

1.6K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    干货 | 用GD32替换STM32,这些细节你一定要知道!

    02 主频 使用HSE(高速外部时钟):GD32的主频最大108M,STM32的主频最大72M 使用HSI(高速内部时钟):GD32的主频最大108M,STM32的主频最大64M 主频大意味着单片机代码运行的速度会更快...04 Flash差异 GD32的Flash是自主研发的,和STM32的不一样。 GD Flash执行速度:GD32 Flash中程序执行为0等待周期。...06 串口 GD在连续发送数据的时候每两个字节之间会有一个Bit的Idle,而STM32没有,如下图。 GD的串口在发送的时候停止位只有1/2两种停止位模式。...STM32有0.5/1/1.5/2四种停止位模式。 GD 和STM32 USART的这两个差异对通信基本没有影响,只是GD的通信时间会加长一点。...07 ADC差异 GD的输入阻抗和采样时间的设置和ST有一定差异,相同配置GD采样的输入阻抗相对来说要小。

    3.6K10

    STM32、GD32、ESP32 的区别

    2、主频 使用HSE(高速外部时钟):GD32的主频最大108M,STM32的主频最大72M 使用HSI(高速内部时钟):GD32的主频最大108M,STM32的主频最大64M 主频大意味着单片机代码运行的速度会更快...4、Flash差异 GD32 的 Flash 是自主研发的,和 STM32 的不一样。 GD Flash 执行速度:GD32 Flash 中程序执行为 0 等待周期。...6、串口 GD 在连续发送数据的时候每两个字节之间会有一个 Bit 的 Idle,而 STM32 没有,如下图: GD 的串口在发送的时候停止位只有 1/2 两种停止位模式。...STM32 有 0.5/1/1.5/2 四种停止位模式。 GD 和 STM32 USART 的这两个差异对通信基本没有影响,只是 GD 的通信时间会加长一点。...7、ADC 差异 GD 的输入阻抗和采样时间的设置和 ST 有一定差异,相同配置 GD 采样的输入阻抗相对来说要小。

    2.1K10

    WCH RISC-V-CH307V(优点熟悉版)

    l 指令总线(I-Code)将内核和 FLASH 指令接口相连,预取指在此总线上完成。 l 数据总线(D-Code)将内核和 FLASH 数据接口相连,用于常量加载和调试。...l DMA 总线负责 DMA 的 AHB 主控接口与总线矩阵相连,该总线访问对象是 FLASH 数据、SRAM 和外设。...l 总线矩阵负责的是系统总线、数据总线、DMA 总线、SRAM 和 AHB/APB 桥之间的访问协调。 l AHB/APB 桥,为 AHB 总线和两个 APB 总线提供同步连接。...这个定时器和STM32很一样 单纯的说数据手册没有意思,看看代码吧~ 这个RISC-V的代码没有STM32库那么多 主要要操作的外设都放好了,直接调用 我简单的看一个GPIO 里面文件很少...哦,原来是计数器 要不是平时老看数据手册,估计现在就晕了 这个就是上面计数器的封装了 这个之后研究吧,就是使用的计时器实现的延时函数 串口打印的函数 直接GPIO和串口外设,和STM32

    63920

    Science评论:量子计算目前最大的挑战,在0和1之间

    也就是说,我们还远未实现可扩展的量子计算,应该把精力集中在单个量子比特的纠错上,关注0和1之间,而不是0和1之外。...研究人员从设置53个量子比特开始,编码了所有可能的输出,范围从0到2^53。他们在量子比特之间实施了一组随机选择的相互作用,在反复试验中,某些输出比其他输出更有可能出现。...例如,在不破坏纠缠的情况下,噪声可以翻转三个编码量子比特中的任何一个,从而使其0和1状态翻转,改变这三个编码比特之间的潜在相关性。然后研究人员可以对辅助量子比特进行“稳定器”测量以探究这些相关性。...它们使成对的主量子比特与其他可测量状态的辅助量子比特纠缠在一起,如果一对量子比特之间的相关性保持不变,则辅助比特将为0;如果相关性被翻转,则辅助比特将为1。...但是,对于这些代码,通常需要在代码量子比特之间执行任意的远程交互。 2014年发生了一件有趣的事,当时物理学家发现了证据,证明量子纠错与空间、时间和引力的本质之间有着深远的联系。

    1.1K20

    stm32的简介。

    STM32最初发布时有14个不同型号,分为两个版本:最高CPU时钟为72MHZ的“增强型”和最高CPU时钟为36MHZ的“基本型”。...这些不同STM32型号里内置的Flash最大可达128KB,SRAM最大为20KB,在STM32发布之初,配置更大Flash,RAM和更复杂外设的版本就已经在规划之中了。...一般,STM32都会配备常见外设,诸如多通道ADC,通用定时器,I2C总线接口,SPI总线接口,CAN总线接口,USB控制器,实时时钟RTC等。但是,它的每一个外部设备都具有独特之处。...STM32内部总线仲裁器和总线矩阵将CPU数据接口和DMA通道之间的连接大大的简化了,这就意味着DMA通道单元是很灵活的其使用方法简单,足以应付微控制器应用中常见的数据传输要求。   ...这些硬件有:一个低电压检测器,一个时钟安全管理系统和两个看门狗定时器。时钟管理系统可以检测到外部主振荡器的失效,并随即安全的将STM32内部8MHZ的RC振荡器切换为主时钟源。

    1.4K00

    【STM32】系统时钟RCC详解(超详细,超全面)

    所以便有了STM32的时钟系统和时钟树 总括: STM32时钟系统主要的目的就是给相对独立的外设模块提供时钟,也是为了降低整个芯片的耗能。...对不同模块的时钟增加开启和关闭功能,可以降低单片机的功耗 STM32为了低功耗,他将所有的外设时钟都设置为disable(不使能),用到什么外设,只要打开对应外设的时钟就可以, 其他的没用到的可以还是disable...③、PLL时钟 最大为72Mhz 3USB时钟 STM32中有一个全速功能的USB模块,其串行接口引擎需要一个频率为48MHz的时钟源。...APB1和APB2的对应外设 F1系列 APB1上面连接的是低速外设,包括电源接口、备份接口、CAN、USB、I2C1、I2C2、USART2、USART3、UART4、UART5、SPI2、SP3等...; 可以对上上面的时钟框图和RCC寄存器来学习,对STM32的时钟系统有个大概的了解 其实也就是我们上面介绍的流程,理解了自然也就能写出来 RCC初始化: 这里我们使用HSE(外部时钟),正常使用的时候也都是使用外部时钟

    4.8K23

    STM32delay函数应用与说明

    处理器有一个24位的系统计时器(SysTick),这个定时器从装载值进行递减,知道0为止,在下一个时钟边缘对STK_LOAD中的值进行重载入,然后在后续的时钟中递减计数。...在arm体系中与时钟有关的寄存器是:STK_CTRL STK_LOAD STK_VAL STK_CALIB是这四个寄存器 在明确了以上内容之后,利用STM32的内部SysTick来实现延时,这样既不占用中断...定时函数的实现 delay_init 函数 该函数用来初始化2个重要参数:fac_us以及fac_ms;tongshi ba SysTick的时钟源选择位外部时钟,在不加入系统的时候,延时初始化函数的代码如下...: // 初始化延时函数 //SYSTICK的时钟固定为HCLK时钟的1/8 static uint8_t fac_us=0; void delay_init(uint8_t SYSCLK) {...//nus:0~190887435(最大值即 2^32/fac_us@fac_us=22.5) void delay_us(uint32_t nus) { uint32_t ticks

    1.5K20

    找出临界点之间的最小和最大距离(链表)

    题目 链表中的 临界点 定义为一个 局部极大值点 或 局部极小值点 。 如果当前节点的值 严格大于 前一个节点和后一个节点,那么这个节点就是一个 局部极大值点 。...如果当前节点的值 严格小于 前一个节点和后一个节点,那么这个节点就是一个 局部极小值点 。 注意:节点只有在同时存在前一个节点和后一个节点的情况下,才能成为一个 局部极大值点 / 极小值点 。...给你一个链表 head ,返回一个长度为 2 的数组 [minDistance, maxDistance] ,其中 minDistance 是任意两个不同临界点之间的最小距离,maxDistance 是任意两个不同临界点之间的最大距离...第五个节点和第六个节点之间距离最小。minDistance = 6 - 5 = 1 。 第三个节点和第六个节点之间距离最大。maxDistance = 6 - 3 = 3 。...- [1,3,2,2,3,2,2,2,7]:第五个节点是一个局部极大值点,因为 3 比 2 和 2 大。 最小和最大距离都存在于第二个节点和第五个节点之间。

    1.1K20

    stm32开发教程_单片机STM32

    这是没有安装MDK-ARM V5的提示: 打开工程后默认的项目文件列表: 三、时钟部分案例分析 对于单片机系统来说,CPU和总线以及外设的时钟设置是非常重要的,因为没有时钟就没有时序。...通过图形配置部分,得知他设置的SYS 时钟源为TIM1,那么,理论上是和APB2的FCKL2相关。...STM32中有一个全速功能的USB模块,其串行接口引擎需要一个频率为48MHz的时钟源。...其中AHB分频器输出的时钟送给5大模块使用:   ①、送给AHB总线、内核、内存和DMA使用的HCLK时钟。   ②、通过8分频后送给Cortex的系统定时器时钟。   ...注意USB模块虽然需要一个单独的48MHz时钟信号,但它应该不是供USB模块工作的时钟,而只是提供给串行接口引擎(SIE)使用的时钟。USB模块工作的时钟应该是由APB1提供的。

    1.2K21

    EtherCAT主站同步实现方式

    也就是说,很明显的要在SYNC脉冲被释放之前为所有从站提供新的信号。要实现这一目标,新的周期性I/O数据到达和SYNC脉冲之间的相隔时间的必须保证最小化。...如果系统运行周期为1kHz,那么8254计时器以及负责生成同步脉冲的从站计时器都应设置为1kHz。但8254计时器和从站计时器都不能准确的运行1kHz的周期率。...实际上,这两个计时器之间有些偏差,因此,在主站里发送周期性I/O数据和从站中的一系列SYNC脉冲之间可以实现非恒定间隔。...DCM控制器周期性计算EtherCAT主站时间和DC时钟主站时间之间的差异。根据设定值(即SYNC脉冲到主站中计时器中断的距离),PI控制器算法计算重新调整的值。...硬件接口延迟(计时器api)将自动执行错误补偿,因为系统的时间无法触及,所以我们将从所有的DC从站上获得非常精确且稳定的SYNC0频率。

    1.2K10

    从小白到 Pro | RCC时钟基础知识和常见问题

    STM32 时钟基础内容 STM32时钟树具有多项功能,可通过分频和倍频配置系统以及外设的时钟频率,不同型号STM32的时钟树有所不同。 1....时钟源 STM32的时钟源分为高速、低速两类时钟,同时也分内部和外部。...时钟分频和倍频 STM32的分频和倍频功能非常强大,可将时钟源通过分频与倍频技术,使各APB总线时钟频率配置为指定值,供各外设使用。...STM32系统时钟频率理论上可以超过官方指定的最大值,比如:STM32F103最大72M,你倍频为96M也可能正常工作,但实际应用存在风险。 5....STM32 时钟常规配置 STM32 系统时钟配置在上电之后,初始化外设之前就要做的一件事。重点配置的内容就是上面提到的基础内容,时钟选择、倍频分频,以及系统和外设的时钟频率等。 1.

    1.8K31

    Cubemx与HAL库系列教程|系统时钟配置详解及源码分析

    STM32时钟系统简介 STM32种类繁多,时钟系统也不尽相同,但基本的还是大差不差,今日小飞哥就F1系列的MCU简单聊一聊STM32的时钟系统 1、时钟种类介绍: 先来看一看时钟树图,包含了整个系统的始终来源及各个外设的始终来源...如果PLL中断在时钟中断寄存器里被允许,当PLL准备就绪时,可产生中断申请。如果需要在应用中使用USB接口,PLL必须被设置为输出48或72MHZ时钟,用于提供48MHz的USBCLK时钟。...LSI时钟频率大约40kHz(在30kHz和60kHz之间)。 以上介绍来自STM32手册,总共分为5大时钟源。...系统时钟SYSCLK最大频率为72MHz(64MHZ),它是供STM32中绝大部分部件工作的时钟源。...当使用PLL锁相环的时候,最大系统时钟能倍频至最大64MHZ,倍频系数2-16,可以根据自己的需要选择,设置不同的主频 直接使用HSI的话,系统时钟设置为8MHZ 后面的这些外设时钟需要我们根据自己的需要调整分频系数

    3.8K20

    STM32F10x从零开始配置时钟

    这是因为STM32的外设很多,而且不同的外设需要的时钟是不一样的,例如USB时钟一般需要48MHz,RTC时钟一般是32.768K,APB2总线上的外设最大不超过72MHz,APB1总线外设最大不超过36MHz...其中HSI和HSE都属于基础时钟,如果使用PLL时钟作为系统时钟,PLL电路的基准输入必须是HSE或者HSI。...如果直接使用基础时钟作为系统时钟,那么系统时钟最大频率≤HSE/HSI 如果使用PLL输出时钟作为系统时钟,那么系统时钟最大频率≤72MHz 下面就以定时器为例说明上述各个时钟之间的供需关系:...一般来说除RTC外所有的外设时钟(TIM、GPIO、DMA、USART、USB等等)必须由系统时钟提供,但某些特殊外设需要另当别论(以太网、I2S设备等) 在STM32时钟树中,还有很多的分频器和倍频器...注意:当使用了预取缓冲器和 AHB 时钟的预分频系数不为 ’1’ 时,不能使用半周期访问方式。

    86510

    详述使用CubeMX配置STM32RCC时钟

    前言 STM32微控制器的时钟部分是其操作的核心,处理器的稳定工作也离不开时钟,它负责为微控制器提供时钟信号以驱动CPU、外设和总线, 所用软件: Keil5 STM32 CubeMX 所用开发板型号...:stm32f103vet6 一、STM32时钟概述 在STM32微控制器中,时钟系统由多个时钟源、时钟分频器和时钟使能控制组成,可以通过寄存器配置来实现对时钟的控制和调整。...倍频因子:可通过设置寄存器来选择倍频因子,将输入时钟源的频率乘以固定的倍数,获得更高频率的系统时钟。 频率范围:对于STM32F103系列,最大系统时钟频率为72MHz。...三、使用CubeMX配置 配置RCC 修改HCLK为最大72M, 他这里是问我们没有时钟源没配置成功,点击ok,cubemx会自动帮我们修改 3....最后 简单来说,对于STM32上的时钟,根据需求来确定,时钟频率越高,功耗也会更高,另一方面要考虑芯片的工作条件,根据芯片运行的工作条件来选取时钟频率。

    6.7K30
    领券