搜索
查看: 8527|回复: 9

[讨论] STM32F030XX 系列时钟配置 小结

[复制链接]

该用户从未签到

26

主题

82

帖子

0

蝴蝶豆

中级会员

最后登录
2021-1-6
发表于 2018-3-6 16:27:18 | 显示全部楼层 |阅读模式
太久没有写STM的程序了~~~ 发现变化好大啊! 不得一步一步的从头开始学习!
工程建好后 首选是配置 系统时钟,以下是我的一些小结,不知对不对,不对的地方请各位斧正。

第一步学会看 系统时钟的block 图, 看懂之后 配置寄存器。

网上有两种做法:

1种是 “在应用笔记中找到STM32F0xx系列微控制器的时钟配置工具,下载下来得到一个EXCEL表文件”  ,然后生成一个system_stm32f0xx.c 文件文件中  SystemInit() 函数对系统时钟进行了配置, 然后这个函数 会在单片机起来的时候  在startup_stm32f030.s 中被调用, 这样的话 应用层的 程序上就不用再去配置  系统时钟。  这个只是配置系统的时钟

如果 其他外设 如 GPIO, I2C,串口 要使用的话, 就要通过 RCC 去配置,等于 把时钟线 牵到对应外设上去。




第2 种是直接 在RCC_Configuration() 中进行 系统时钟配置,和外设 的时钟配置。。等于自己写出每一个寄存器的配置。 个人感觉这样比较麻烦
回复

使用道具 举报

该用户从未签到

3

主题

1002

帖子

363

蝴蝶豆

版主

最后登录
2021-4-15
发表于 2018-3-6 16:48:22 | 显示全部楼层
还有一个更加简单的,就是使用CubeMx配置!!!!使用HAL库。。。不过如果在使用工具之前,看过寄存器的,效果更加好。。。
回复 支持 反对

使用道具 举报

该用户从未签到

0

主题

11

帖子

4

蝴蝶豆

新手上路

最后登录
2021-1-20
发表于 2018-3-6 18:04:36 | 显示全部楼层
CubeMx自动生成了.写的大都是应用了,不过也有些bug,在F1的SDIO驱动里面就有问题

评分

参与人数 1蝴蝶豆 +3 收起 理由
zero99 + 3

查看全部评分

回复 支持 反对

使用道具 举报

该用户从未签到

26

主题

82

帖子

0

蝴蝶豆

中级会员

最后登录
2021-1-6
 楼主| 发表于 2018-3-7 08:47:59 | 显示全部楼层
linwei1234 发表于 2018-3-6 18:04
CubeMx自动生成了.写的大都是应用了,不过也有些bug,在F1的SDIO驱动里面就有问题 ...

CubeMx 确实 很强大, 不过好像占用很多程序空间  是吗?
回复 支持 反对

使用道具 举报

该用户从未签到

26

主题

82

帖子

0

蝴蝶豆

中级会员

最后登录
2021-1-6
 楼主| 发表于 2018-3-7 08:48:28 | 显示全部楼层
MrJiu 发表于 2018-3-6 16:48
还有一个更加简单的,就是使用CubeMx配置!!!!使用HAL库。。。不过如果在使用工具之前,看过寄存器的, ...

CubeMx 也可以使用HAL 库??谢谢!
回复 支持 反对

使用道具 举报

该用户从未签到

3

主题

1002

帖子

363

蝴蝶豆

版主

最后登录
2021-4-15
发表于 2018-3-7 10:47:08 | 显示全部楼层
su-409464 发表于 2018-3-7 08:48
CubeMx 也可以使用HAL 库??谢谢!

Cube只是个工具,他生成的代码是用的两个库,HAL和LL,可以任意选择,甚至某个外设单独用另外的都可以。。。

评分

参与人数 1蝴蝶豆 +3 收起 理由
zero99 + 3

查看全部评分

回复 支持 反对

使用道具 举报

该用户从未签到

26

主题

82

帖子

0

蝴蝶豆

中级会员

最后登录
2021-1-6
 楼主| 发表于 2018-3-7 10:57:56 | 显示全部楼层
MrJiu 发表于 2018-3-7 10:47
Cube只是个工具,他生成的代码是用的两个库,HAL和LL,可以任意选择,甚至某个外设单独用另外的都可以。 ...

好的谢谢你! 图形化的界面应该很棒,有机会一定要学习一下!谢谢版主!
回复 支持 反对

使用道具 举报

该用户从未签到

3

主题

1306

帖子

929

蝴蝶豆

版主

最后登录
2021-3-31
发表于 2018-3-7 14:58:46 | 显示全部楼层
MrJiu 发表于 2018-3-7 10:47
Cube只是个工具,他生成的代码是用的两个库,HAL和LL,可以任意选择,甚至某个外设单独用另外的都可以。 ...

稍微修正一下,cubeMx目前只能生成HAL,LL的代码只能在库的路径下找,都是固定例程,目前暂时不能灵活生成能
回复 支持 反对

使用道具 举报

该用户从未签到

3

主题

1002

帖子

363

蝴蝶豆

版主

最后登录
2021-4-15
发表于 2018-3-7 16:17:21 | 显示全部楼层
butterflyspring 发表于 2018-3-7 14:58
稍微修正一下,cubeMx目前只能生成HAL,LL的代码只能在库的路径下找,都是固定例程,目前暂时不能灵活生成能 ...

你说的应该指的是时钟,其他外设配置,可以很灵活,当然了,这里的灵活依然仅仅指的是初始化而已!!!
回复 支持 反对

使用道具 举报

该用户从未签到

3

主题

1306

帖子

929

蝴蝶豆

版主

最后登录
2021-3-31
发表于 2018-3-8 11:26:36 | 显示全部楼层
MrJiu 发表于 2018-3-7 16:17
你说的应该指的是时钟,其他外设配置,可以很灵活,当然了,这里的灵活依然仅仅指的是初始化而已!!! ...

是的,毕竟应用是无穷无尽,就如我们的串口接口,就只有轮训,中断,和DMA,但是他们要不就是用time out,不要就是以长度作为结束,但用户用AT指令或者一些数据采集卡时,就不能有关键符号,或者是自动接收了.都是需要自己修改接口,希望cubeMx可以越来越完善,适应越来越多的应用.

评分

参与人数 1蝴蝶豆 +5 收起 理由
zero99 + 5

查看全部评分

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条

Archiver|手机版|小黑屋|论坛-意法半导体STM32/STM8技术社区

GMT+8, 2024-4-20 19:05 , Processed in 0.210158 second(s), 43 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表