在线时间6 小时
UID2051467
ST金币0
蝴蝶豆0
注册时间2013-10-25
初级会员
- 最后登录
- 2020-8-4
|
a0a.1 0b0c
一,准备
IDE使用MDK5.12,软件到keil的官网上下载:www.keil.com,找到download后填一下必要的信息就能下载了,打开之后的页面像这样:
破解就不用说了,方法与之前的一样,当然已经安装破解过的直接覆盖安装就行了,不需要再破解。
安装完成之后首先要做得就是安装芯片的库,要不然options的device里面是没有芯片的。
点击菜单栏的pack installer:
打开的窗口会自动从服务器加载所有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
上个效果图:
(好吧,这个图要点一下才能动!LCD的背光没关)
----------------------------------------------------------差不多了吧----------------------------------------------------------------------
请注意代码里面的时钟配置!使用的是外部8M时钟,由ST-LINK提供,跳线修改参见数据手册或者上一帖
代码:
Demo1.zip
(5.33 MB, 下载次数: 512)
|
|