打印
[STM32F4]

【NucleoF446ZE测评】第一个基于HAL库的程序

[复制链接]
1080|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
        板子收到很长时间了,一直没有时间玩,本来是准备昨天来发帖子的,但是小孩子发烧没有时间来发帖。
        之前都是用标准库或寄存器的方式来进行ST芯片的开发,趁着有空,简单的熟悉了一下HAL。下面是利用HAL库进行点灯例程的配置过程。

准备条件:
  - PC机一台(Windows系统)
  - Nucleo F446ZE开发板一块
  - USB转MicroUSB线一根
  - MDK5.14软件

1、打开MDK软件,新建工程,选择工程路径,如下图所示

2、输入工程名称,如下图所示

3、选择芯片类型,如下图所示(需要先安装STM32F4的PACK)
4、选择运行环境,先选择cmsis-》core和device-》startup,如下图所示

5、选择芯片外设资源,如GPIO,提示需要选择common资源,如下图所示

6、选择好common后,显示缺少如下图中的外设资源

7、勾选提示添加的外设资源,会出现如下图所示的错误(因为classic和cubemx只能选择其一)

8、去掉上图中的红色其中一个就可以完成运行环境的配置了,如下图所示

9、添加main函数文件,如下图所示

10、配置仿真调试器为STLink,调试接口为SW,如下图所示

11、添加LED外设驱动,先查看硬件电路,如下图所示

12、编辑代码
mian.c代码,如下图所示

led.c代码,如下图所示

13、程序仿真下载,效果图如下


工程附件: led.rar (33.05 KB)

再附上一个MDK环境寄存器版的工程模板(无需安装PACK,就可以直接进行编译): pro_template.rar (104.07 KB)



沙发
fly928sky|  楼主 | 2016-5-10 16:31 | 只看该作者
详情请见附件工程

使用特权

评论回复
板凳
Jessicakjdsl| | 2016-5-10 21:29 | 只看该作者
谢谢楼主分享,这个mdk环境寄存器支持的是keil5吗

使用特权

评论回复
地板
fly928sky|  楼主 | 2016-5-10 21:31 | 只看该作者
Jessicakjdsl 发表于 2016-5-10 21:29
谢谢楼主分享,这个mdk环境寄存器支持的是keil5吗

恩,是的

使用特权

评论回复
5
huangcunxiake| | 2016-5-10 22:22 | 只看该作者
那个例程做的真好,跟楼主学习学习怎么玩HAL。

使用特权

评论回复
6
huangcunxiake| | 2016-5-10 22:23 | 只看该作者
那个跟随器是干啥用的?就是驱动LED那个。

使用特权

评论回复
7
fly928sky|  楼主 | 2016-5-10 22:39 | 只看该作者
huangcunxiake 发表于 2016-5-10 22:22
那个例程做的真好,跟楼主学习学习怎么玩HAL。

HAL,我也是第一次玩,以前都是标准库或者寄存器

使用特权

评论回复
8
fly928sky|  楼主 | 2016-5-10 22:41 | 只看该作者
huangcunxiake 发表于 2016-5-10 22:23
那个跟随器是干啥用的?就是驱动LED那个。

这个跟随器具体啥作用,我也不太清楚

使用特权

评论回复
9
xuyuhaoa| | 2016-5-17 19:00 | 只看该作者
我拿官方代码使用内部高速时钟,配置为180M,发现over driver总是返回超时,板子是自己画的不知道为什么会出现这种情况。

使用特权

评论回复
10
huangcunxiake| | 2016-5-19 17:02 | 只看该作者
官方也不出点中文版的HAL介绍说明,全英文的,我等爱国人士不学洋文,吃亏大了。

使用特权

评论回复
11
fly928sky|  楼主 | 2016-5-20 16:24 | 只看该作者
huangcunxiake 发表于 2016-5-19 17:02
官方也不出点中文版的HAL介绍说明,全英文的,我等爱国人士不学洋文,吃亏大了。 ...

洋文还是要学的,至少要先能读,然后写、听、说。。。

使用特权

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

本版积分规则

4

主题

162

帖子

2

粉丝