打印
[其他ST产品]

STM32系统时钟的问题

[复制链接]
662|19
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
七毛钱|  楼主 | 2024-10-24 11:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
利用固件库3.5MDK460,在编写程序的时候可以不需要配置系统时钟,直接打开相应的外设中断即可。在编译环境中有一个启动汇编文件.s的文件。当编译程序时启动文件直接进入系统时钟初始化C文件然后在执行到主程序中!这样理解对吗?

使用特权

评论回复
沙发
renzheshengui| | 2024-11-6 13:30 | 只看该作者
使用固件库可以大大简化STM32开发过程中的时钟配置工作,但我们仍需了解时钟配置的基本概念和流程

使用特权

评论回复
板凳
tpgf| | 2024-11-6 14:46 | 只看该作者
我觉得这样理解是没有问题的  不过一般来说默认配置也够用了

使用特权

评论回复
地板
elephant00| | 2024-11-6 16:35 | 只看该作者
虽然系统时钟的配置和外设中断的打开是两个相对独立的过程,但它们在程序执行的过程中可能会相互关联。在大多数情况下,使用标准的固件库和启动文件时,系统时钟的初始化会在程序开始执行之前自动完成。

使用特权

评论回复
5
guanjiaer| | 2024-11-8 08:03 | 只看该作者
使用固件库3.5MDK460时,确实可以在编写程序时不需要手动配置系统时钟,直接打开相应的外设中断即可

使用特权

评论回复
6
heimaojingzhang| | 2024-11-8 10:57 | 只看该作者
在编译环境中存在一个启动汇编文件(.s文件),当编译程序时,启动文件会直接进入系统时钟初始化C文件,然后执行到主程序中

使用特权

评论回复
7
keaibukelian| | 2024-11-8 13:58 | 只看该作者
STM32的固件库提供了时钟配置函数,这些函数在SystemInit()函数中被调用,用于完成对系统时钟的配置。默认情况下,固件库的时钟配置函数会将HSI作为时钟源,并使能HSI,随后尝试启动HSE

使用特权

评论回复
8
paotangsan| | 2024-11-8 16:57 | 只看该作者
对于大多数应用来说,固件库的默认时钟配置已经足够满足需求,因此开发者通常不需要更改时钟配置

使用特权

评论回复
9
renzheshengui| | 2024-11-8 19:57 | 只看该作者
如更换外部晶振或调整系统时钟频率,可以通过修改固件库中的相关宏定义和配置函数来实现

使用特权

评论回复
10
yellow555| | 2024-11-8 21:01 | 只看该作者
在编译环境中有一个启动汇编文件.s的文件

使用特权

评论回复
11
公羊子丹| | 2025-1-24 17:08 | 只看该作者
楼主理解得基本没问题,启动文件会调用SystemInit函数初始化系统时钟,然后再跳转到main函数。

使用特权

评论回复
12
周半梅| | 2025-1-24 17:10 | 只看该作者
如果你不需要特别的时钟配置,可以用默认的HSI时钟,启动文件会直接帮你初始化好。

使用特权

评论回复
13
帛灿灿| | 2025-1-24 17:11 | 只看该作者
在标准库的结构里,启动文件的确会先运行系统初始化代码,时钟初始化是它的一个重要部分。

使用特权

评论回复
14
童雨竹| | 2025-1-24 17:12 | 只看该作者
你说的外设中断应该是通过标准库的API使能的,这和系统时钟初始化流程是分开的。

使用特权

评论回复
15
万图| | 2025-1-24 17:13 | 只看该作者
如果有特殊的时钟需求,比如使用外部晶振HSE,就需要修改SystemInit或手动调用SystemClock_Config。

使用特权

评论回复
16
Wordsworth| | 2025-1-24 17:15 | 只看该作者
启动文件一般是startup_stm32xxxx.s,它的作用是设置中断向量表和跳转到初始化代码,SystemInit函数就是在这里被调用的。

使用特权

评论回复
17
Bblythe| | 2025-1-24 17:17 | 只看该作者
如果是裸机编程,启动文件的作用确实是先初始化系统硬件环境,再进入主程序。你可以看下.s文件里是如何调用的。

使用特权

评论回复
18
Pulitzer| | 2025-1-24 17:18 | 只看该作者
默认情况下,STM32会使用内部8MHz HSI作为时钟源,如果对时钟要求不高,这个默认配置就够用了。

使用特权

评论回复
19
Uriah| | 2025-1-24 17:19 | 只看该作者
如果你的程序运行没有问题,说明启动文件和系统初始化代码的配合已经正确,不需要额外修改。

使用特权

评论回复
20
Clyde011| | 2025-1-24 17:20 | 只看该作者
建议看一下system_stm32xxxx.c文件,这里面的SystemInit函数就是专门初始化系统时钟和其他硬件的地方。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

344

主题

2373

帖子

4

粉丝