stm32f407_hal库_工程模板

Stm32f407 HAL库建立模板

 

硬件平台:  stm32f407ve

软件平台:  win10 (OS Name:                   Microsoft Windows 10 Enterprise

                                   OS Version:                10.0.18363 N/A Build 18363)

             Keil5  5.26.2

             HAL库版本: 2.14.0(目前下载的最新的)

1.在工程路径下建立一个空的文件夹

 

2.打开keil5,没有建立工程,应该示空白工程(我的版本是5.26.2)。

 

3.我现在安装的hal库的版本:

 

 

4. 新建工程

 

5. 选择工程保存的路径,就是第一步新建的文件夹中

 

 

6. 选择自己的cpu类型,我们选择407ve

 

 7. 弹出的以下对话框,下一步将进行一些选择

 

8. 设置,按图上的标记选择

 

 

9.工程初步建立好了,还需要进一步设置

 

10.创建空白文件--->main.c文件和main函数

 

 

11.选择保存的时候,会弹出对话框

 

12.修改main.c文件,写入main函数,如下图

 

  1. 把main.c加入到工程中

 

14.弹出的对话框,选中main.c文件

 

 

15. 初步编译,没有错误和警告(模板基本完成),但是这个工程没有任何功能。

 

 

 

 

17.如果要点亮led,那还会跟开发板硬件有比较大的关系,所以以下的步骤不一定适合每一个人。我只能根据我自己的开发板进行开发,如果你的硬件与我不同的话,请注意区别。

18.我的led原理图,我的只有3个led,分别连接在GPIOE的13,14,15号引脚。低电平点亮。

 

18.代码如下:

 

 

19.编译会有一些错误

 

20.增加宏定义如下图示

 

21.使用HAL库,需要执行HAL_Init();再次编译,没有错误,即可以把程序下载到开发板了。

 


#include <stm32f4xx.h>


void led_init(void)
{	
	GPIO_InitTypeDef GPIO_Init;

	//1.时钟使能
	__HAL_RCC_GPIOE_CLK_ENABLE();
	
	
	//2.端口设置
	GPIO_Init.Mode = GPIO_MODE_OUTPUT_OD;  //输出开漏模式
	GPIO_Init.Pin = GPIO_PIN_13 | GPIO_PIN_14 | GPIO_PIN_15;
	GPIO_Init.Pull = GPIO_PULLUP;
	GPIO_Init.Speed = GPIO_SPEED_FREQ_LOW;
//	GPIO_Init.Alternate = ;  //GPIO的mode设置位复用功能的时候,才会配置复用功能
	HAL_GPIO_Init(GPIOE, &GPIO_Init);
	
	//3.点亮或熄灭灯
}


int main(void)
{
	HAL_Init();  //必须在第一个语句执行
	
	led_init();
	
	while(1)
	{

	}
}

github的工程源码:

https://github.com/zhaozhi0810/stm32f407_hal_keil5

发布了24 篇原创文章 · 获赞 18 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/zhaozhi0810/article/details/104222171
今日推荐