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

STM32F401RE-Nucleo开发分享'^_^'(LED、BUTTON)

[复制链接]
kyChu 提问时间:2014-10-15 08:04 /
一,准备
IDE使用MDK5.12,软件到keil的官网上下载:www.keil.com,找到download后填一下必要的信息就能下载了,打开之后的页面像这样: download.png
破解就不用说了,方法与之前的一样,当然已经安装破解过的直接覆盖安装就行了,不需要再破解。
安装完成之后首先要做得就是安装芯片的库,要不然options的device里面是没有芯片的。
点击菜单栏的pack installer: pack.jpg
打开的窗口会自动从服务器加载所有MDK支持的芯片,选择我们需要的芯片点击install就行了,接下来就是等了。
安装完后就能在options里面找到芯片了。
接下来下载ST官方提供的库函数,我使用的是ST的STM32F4Cube HAL库,下载:
1,登录ST主页:www.st.com
2,products->Microcontrollers->software(左边)->STM32Cube(5)
3,选择STM32CubeF4的库,打开页面后就有所有的资源了,所有的说明文档以及源码都免费下载(版本1.3.0)
下载。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
下载完成!我的做法是:把drivers以及Middlewares两个文件夹拷贝到建工程的目录下面,这里面有我们需要的所有库函数,当然里面还有一些不需要的文件,根据自己的情况删掉吧。以后所有的代码都离不开它们
二,建工程
(注意,该版本的MDK不会自己添加启动文件以及内核的头文件,都需要自己添加,路径也是要设置的这两个文件固件库都是提供了的,分别在...\Drivers\CMSIS\Device\ST\STM32F4xx\Source\Templates\arm以及...\Drivers\CMSIS\Include下,正因如此,HAL库函数里面的所有示例工程都是编译不通过的,需要自己再添加路径才行!建议启动文件每个工程都单独拷贝,因为以后的工程有些会对启动文件进行修改的。我是直接拷贝放到...\proj\目录下的。关于options的配置,大家可以参照库函数例程的配置方法)
 
这次的代码实现对板子上的4+1个LED以及4+1个按键的操作,代码见附件~
这个代码比较简单,主要是让大家熟悉我的工程布局习惯,方便以后适应其他的代码。
 
对LED以及按键的底层操作函数就直接在...\Drivers\BSP\STM32F4xx-Nucleo\stm32f4xx_nucleo.c、stm32f4xx_nucleo.h这两个文件里面修改实现了,没有建立独立的文件。这个库还是很灵活的,直接在头文件中添加对应硬件的引脚以及使能的定义,再在源文件里面的数组中添加对应的项就ok了~(注意代码里面LED是高电平点亮,低电平熄灭,按键按下为0,好像库函数是要修改的?)
接下来就是直接调用库函数了:
BSP_LED_Init->初始化LED
BSP_PB_Init->初始化按键
BSP_LED_On->点亮LED
BSP_LED_Off->熄灭LED
BSP_LED_Toggle->反转LED
BSP_PB_GetState->获取键值
参数具体内容由大家在头文件中的定义决定(比如我的是LED2,LED3,LED4,LED5,LED6,BUTTON_KEY,BUTTON1,BUTTON2,BUTTON3,BUTTON4...)
主函数提供两个测试:1,LED流水灯2,按下按键点亮对应LED
上个效果图: test.gif
(好吧,这个图要点一下才能动!LCD的背光没关
----------------------------------------------------------差不多了吧----------------------------------------------------------------------
请注意代码里面的时钟配置!使用的是外部8M时钟,由ST-LINK提供,跳线修改参见数据手册或者上一帖
代码: Demo1.zip (5.33 MB, 下载次数: 521)
收藏 评论16 发布时间:2014-10-15 08:04

举报

16个回答
165198646 回答时间:2015-2-14 15:30:58
为啥我的开发板无法扫写呢,哪里需要特别设置吗?
QQ截图20150214152955.png
wamcncn 回答时间:2015-2-21 10:27:10
谢谢分享,别人用的标准库,你用BSP是什么
党国特派员 回答时间:2015-1-17 20:42:36
333.png
那片清茶 回答时间:2014-10-15 08:55:31

RE:STM32F401RE-Nucleo开发分享'^_^'(LED、BUTTON)

不错的,希望能够 开发出一整个体系的例程出来。。
kyChu 回答时间:2014-10-15 11:08:18

回复:STM32F401RE-Nucleo开发分享'^_^'(LED、BUTTON)

回复第 2 楼 于2014-10-15 08:55:31发表:
不错的,希望能够 开发出一整个体系的例程出来。。
已经准备差不多了,今天的代码也已经把所有的硬件的驱动全部分享了,可以先看看,还望大家多多指点
 
海蓝变 回答时间:2014-10-15 19:49:16

RE:STM32F401RE-Nucleo开发分享'^_^'(LED、BUTTON)

好东西,对于像我这样第一次接触arm的 有很大的帮助
zhyue12 回答时间:2015-1-12 17:29:58
mark一下。
zhangdaijin 回答时间:2015-1-17 13:06:17
楼主大爱
子曰小玖 回答时间:2015-1-22 16:16:28
学习一下
wu1169668869 回答时间:2015-1-22 19:13:21
写的很详细啊!
星辰一方 回答时间:2015-1-24 12:11:53
感谢分享!nucleo,不错!
wyxy163@126.com 回答时间:2015-2-21 13:06:07
提示: 作者被禁止或删除 内容自动屏蔽
wyxy163@126.com 回答时间:2015-2-21 13:06:32
提示: 作者被禁止或删除 内容自动屏蔽
sayloveyou 回答时间:2015-4-18 22:45:50
怎么编译出现错误
12下一页
关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版