基于stm32的f4新建工程
本文目标:基于stm32的基础实验
按照本文的描述,应该可以跑通实验并举一反三。
先决条件:装有编译和集成的开发环境,比如:Keil uVision5、STM32CubeMX
使用外设:GPIO
前言
跟着学习项目的一些笔记记录,使用STM32-V6开发板进行实战。
实验目的
基于stm32的F4系列新建一个能使用的工程,点灯实验。
原理图部分
搭建工程
启动 STM32CubeMX 后,点击如下图标开始选择 MCU:
点开之后,发现发现会下载一些东西,等其下载完毕即可,如下:
如下图输入型号“STM32F429BIT6”,双击找到的芯片,开始创建工程:
配置SWD调试
配置外部晶振
配置时钟
配置时钟,调高 CPU 频率:
工程选项卡:
指定代码生成方法,如下
等待下载完成,有点大:
下载完成:
等待解压:
代码成功生成:
使用keil打开工程,编译工程,一切都是ok
进行点灯操作
这个板子点灯有些复杂,使用厂家提供的bsp库来进行,移植对应的bsp.c和bsp.h,添加对应的头文件路径,和对应的文件,内容如下:
移植完代码,编译工程发现报错:
这里是这个函数找不到,这个函数是bsp_fmc_io.c中实现的,添加一下这个文件继续编译,发现问题有点多
需要耐心的折腾一会,打开对应的配置文件,配置相应的宏,让其找到对应的文件。
#define HAL_SRAM_MODULE_ENABLED
还有一个错误如下:
根据模板工程来看,没找到这个参数,直接屏蔽进行编译,一通折腾之后,编译通过,编写代码
bsp_Init();
/* USER CODE END 2 */
/* Infinite loop */
/* USER CODE BEGIN WHILE */
while (1)
{
/* USER CODE END WHILE */
/* USER CODE BEGIN 3 */
bsp_LedToggle(1);
bsp_LedToggle(2);
bsp_LedToggle(3);
bsp_LedToggle(4);
HAL_Delay(500);
}
刷入板子上LED灯正常闪刷,实验成功。
本文中使用的测试工程
https://download.csdn.net/download/weixin_44317448/89056483