你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

查看: 9003|回复: 44

从STM32CubeF0驱动包开始你的项目

  [复制链接]

10

主题

42

回帖

0

蝴蝶豆

中级会员

最后登录
2020-7-12
发表于 2014-12-15 09:38:17 | 显示全部楼层 |阅读模式

前几天折腾nucleo板子,准备修改一个项目,但是修改了半天也没有正常运行,郁闷,后来又重看了一遍《UM1779_rev2pub_STM32CubeF0_GettingStarted.pdf》才搞明白。一开始自己没有看全,以为驱动库的用法和以前(2年前,呵呵)差不多。没想到变化那么大,而且比以前好用多了,功能也更加的丰富。现在我就把文档中“如何开始自己的项目”那一段大概翻译一下,并不是逐字逐句地翻译,供大家参考,翻译水平很渣,希望不会误导大家。有什么不好的地方也请指出,谢谢。

在使用STM32CubeMX时会下载一个驱动包,那个包里有很多相应的例程,对自己的项目开始有很大的帮助,但是直接修改例程尤其是添加新的外设会出现外设不能运行的情况,这是因为新加外设的初始化程序没有在main.c中,而是在stm32f0xxx_hal_msp.c文件中。下面将完整的说一说如何开始自己的项目。
第一步,创建你的工程:工程可以直接使用包里提供的模板(Templates)工程,也可以从提供的例程中创建。模板工程初始化了如下特性:

--包含最小化的HAL、CMSIS、BSP驱动库
--包含所有驱动库的头文件
--define 了支持的STM32F0设备,因此可以相应的配置CMSIS和HAL驱动
--提供了用户直接可以使用的功能,如下:
   HAL初始化了ARM内核SysTick默认时基单元
   延时函数HAL_Delay()需要使用的SysTick中断
   系统时钟使用HSI配置的最小频率
注意:当你复制一个已存在的工程到别的地方时,要确保更新了头文件路径
第二步,添加所需的中间层模块到你的工程中:
需添加相应中间层的哪些文件,需要参考各个中间层提供的文档。你也可以从applications文件夹中参考需要添加哪些文件。
第三步,配置固件库:
HAL和中间层的使用需要修改一系列的宏。在模板工程中,这些宏一般在xxx_conf_template.h中,按需要更改。
第四步,开始HAL库:
在进入main函数之后,应用程序会调用HAL_Init()API来初始化HAL库,这个函数完成以下任务:
a)  配置FLASH的预取值和SysTick中断优先级(用户可通过stm32f0xx_hal_conf.h中的宏来修改)
b)  配置SysTick产生1ms周期的中断,它的时钟使用的HSI(在这个阶段,时钟还没有配置,因此系统使用内部的8MHz HSI)
c)  调用定义在stm32f0xx_hal_msp.c中的HAL_MspInit()回调函数,初始化底层的硬件
第五步,配置系统始终:
系统时钟的配置使用下面两个API :
a)  HAL_RCC_OscConfig():其配置系统使用内部和/或外部晶振,也包括PLL源。用户能够配置一个或者全部晶振。如果不需要PLL可以跳过其配置。
b)  HAL_RCC_ClockConfig():配置系统时钟源,FLASH内存延迟和AHB与APB的分频。
第六步,外设初始化:
a)  开始编写外设的HAL_PPP_MspInit函数,步骤如下:
--使能外设时钟
--配置外设GPIO
--配置DMA通道和使能DMA中断(如果需要)
--使能外设中断(如果需要)
b)  编辑stm32xxx_it.c文件,以调用需要的中断句柄
c)  编写进程完成的回调函数,如果需要使用外设的中断或者DMA时
d)  在main.c 文件中,初始化外设句柄结构体,然后调用初始化函数
第七步,编写自己的应用进程
注意:若需在中断中使用HAL_Delay()函数,一定要确保SysTick中断的优先级最高



<
回复

使用道具 举报

24

主题

514

回帖

6

蝴蝶豆

金牌会员

最后登录
2019-4-8
发表于 2014-12-15 22:15:45 | 显示全部楼层
Hi,楼主,不好意思啊,“STM32CubeMX时会下载一个驱动包”这个我下载的只有一个STM32CubeMX软件,没有你的说的提供的例程库,能把你下载的例程库上传吗或者给个链接,谢谢了
回复 支持 1 反对 0

使用道具 举报

307

主题

3125

回帖

0

蝴蝶豆

论坛元老

最后登录
2020-7-17
发表于 2014-12-15 10:05:05 | 显示全部楼层
32个赞
回复 支持 反对

使用道具 举报

1

主题

22

回帖

3

蝴蝶豆

中级会员

最后登录
2020-4-7
发表于 2014-12-15 19:13:36 | 显示全部楼层
这个要支持,非常不错啊
回复 支持 反对

使用道具 举报

12

主题

1347

回帖

0

蝴蝶豆

金牌会员

最后登录
2020-9-2
发表于 2015-1-6 17:09:56 | 显示全部楼层
不错,谢谢风向
回复 支持 反对

使用道具 举报

11

主题

661

回帖

0

蝴蝶豆

金牌会员

最后登录
2020-6-8
发表于 2015-1-8 16:21:29 | 显示全部楼层
翻译非常不错啊,这个要支持。
回复 支持 反对

使用道具 举报

17

主题

314

回帖

0

蝴蝶豆

金牌会员

最后登录
2019-12-29
发表于 2015-1-9 00:28:43 | 显示全部楼层
回复 支持 反对

使用道具 举报

22

主题

946

回帖

3

蝴蝶豆

论坛元老

最后登录
2020-5-26
发表于 2015-1-10 23:28:27 | 显示全部楼层
感谢~~~~~~~~~~~~~~
回复 支持 反对

使用道具 举报

16

主题

562

回帖

0

蝴蝶豆

金牌会员

最后登录
2020-12-3
发表于 2015-1-11 09:28:07 | 显示全部楼层
这个要支持
回复 支持 反对

使用道具 举报

6

主题

598

回帖

0

蝴蝶豆

金牌会员

最后登录
2020-12-9
发表于 2015-1-11 10:45:30 | 显示全部楼层
好资料,学习了
回复 支持 反对

使用道具 举报

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版