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

查看: 8991|回复: 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管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版