当前位置: 代码网 > 科技>人工智能 > 手把手教你STM32入门教程(标准库)

手把手教你STM32入门教程(标准库)

2024年08月01日 人工智能 我要评论
目录 一、准备 二、新建工程 三、点亮LED灯 四、总结 一、准备 硬件 STM32开发板(本文章使用STM32F103VET6芯片) 仿真烧录下载器(本文章使用 ST-LINK V2下载器) (你也可以使

目录

前言

步骤一:准备工作

步骤二:安装keil mdk-arm开发工具

步骤三:创建工程

步骤四:配置工程

步骤六:编写代码

步骤七:下载程序 

 总结


前言
 

在物联网时代,嵌入式系统的应用越来越广泛,而stm32作为业内领先的嵌入式芯片之一,受到了越来越多开发者的关注和喜爱。然而,对于初学者来说,学习stm32还是有一定难度的,需要具备一定的电子、嵌入式系统的基础知识。

stm32是一款非常强大的嵌入式芯片,它的应用领域非常广泛。在学习stm32的过程中,首先需要掌握的是基本的硬件知识和编程语言,然后才能深入学习stm32的应用和开发。本教程将手把手教你如何入门stm32(标准库),让你快速掌握stm32的基础知识和开发技巧。

本教程包含丰富的实例代码和实验,每一节都附有详细的图文解释和操作步骤,让初学者能够轻松理解和掌握。

最后,希望本教程能够成为初学者stm32学习的得力助手,也希望读者在学习过程中能够不断探索、实践和创新,不断提高自己的技能水平。


步骤一:准备工作

  • 硬件 
  1. stm32开发板(本文章使用stm32f103vet6芯片)
  2. 仿真烧录下载器(本文章使用 st-link v2 下载器)

(你也可以使用其他开发板芯片和仿真下载器,不妨碍继续阅读本文章) 

  • 软件 
  1. keil mdk-arm开发工具
  2. stm32标准库

步骤二:安装keil mdk-arm开发工具

本文章使用keil5(mdk)开发平台,但你可以用stm32cubeide、或vscode,根据个人使用喜好开发

如果你没安装keil5(mdk)软件(如果你已经安装跳过),提供以下链接参考下载:

首先需要下载keil mdk-arm开发工具,并且安装好。安装过程中需要选择安装的组件,选择cmsis和device support即可。

安装教程 :keil5安装教程(包含c51与mdk共存)win10 亲测可用

网盘下载:keil5 mdk 下载 提取码:1234


步骤三:创建工程

  • 创建文件夹

先下载标准库: 标准库下载 提取码:1234

 下载到桌面上,右击该压缩包进行解压 

解压完了后,新建文件夹,命名随意,但最好不用中文,防止出现不明错误。然后在建好的文件夹再以下文件夹并命名(方便移植标准库)  如图: 

  文件夹释义:core(架构cortex®-m3内核)、fwlib(标准库中的.c和.h头文件)、project(用来放工程)、startup(芯片启动文件)、user(用户文件,用来放主函数)

  •  新建完成后进行库移植 

1.core移植

打开文件夹 路径:“stm32f10x_stdperiph_lib_v3.5.0”-“libraries”-“cmsis”-“cm3”-“coresupport”,然后右击长按选中两个-“core_cm3.c”和“core_cm3.h”,选中后右击复制粘贴到“test”-“core”的文件夹中

 然后退回到“cm3”文件夹中

 打开文件夹 路径:“cm3”-“devicesupport”-“st”-“stm32f10x”,然后右击长按选中三个“stm32f10x.h”和“system_stm32f10x.c”和“system_stm32f10x.h”,选中后复制粘贴到“test”-“core”的文件夹中

 2.fwlib移植 (这个就比较简单了)

返回到“stm32f10x_stdperiph_lib_v3.5.0”中-“libraries”-“stm32f10x_stdperiph_driver”-然后右击长按选中两个-“inc”和“src”,选中后右击复制粘贴到“test”-“fwlib”的文件夹中。

inc:是标准库里的.h文件

src:是标准库里的.c文件

 3.startup(启动文件移植)

 返回到 文件路径如下:“stm32f10x_stdperiph_lib_v3.5.0”- “libraries”-“cmsis”-“cm3”-"devicesupport"-“st”-“stm32f10x”-“startup”,然后选中全部一起复制到“test”-“startup”文件夹中

 4.user移植

打开文件夹“user” -右击选择新建文本文档,然后重命名为“main.c”。

打开文件夹 “stm32f10x_stdperiph_lib_v3.5.0”->“project” -“stm32f10x_stdperiph_template”

然后选中“stm32f10x_conf.h”和“stm32f10x_it.c”和“stm32f10x_it.h”和“system_stm32f10x.c”复制到文件夹“test”-“user”中


步骤四:配置工程

双击打开keil5(mdk)

在keil mdk-arm开发工具中,选择file->new project,然后选择工程路径,输入工程名称即可创建工程。

建工程中,它会弹一个让你选择芯片的弹窗,本文章使用stm32f103vet6芯片,所以选图中“stm32f103ve

假如你的开发板芯片是“stm32f103c8t6”,那么你应该选择图中“stm32f103c8

点ok后会跳出一个“manage run-time environment”的窗口,不用理会,直接叉掉。

然后按图步骤继续--

将stm32标准库中的源文件和头文件添加到工程中,例如:stm32f0x.h、stm32f0x_gpio.h、stm32f0x_rcc.h等。

 双击工程中“main.c”,然后对该文件右击选择“lnsert '#include file”-“stm32f10x.h”,快速添加头文件。然后在8296行代码复制use_stdperiph_driver

 复制后打开小魔术棒-点击“c/c++”在“define”框粘贴,然后在"include pahs"添加头文件路径,然后新建-选择文件路径添加进去:“test”文件夹中的“core”、“fwilb/inc”、“startup”、“user”,这几个文件夹。

  把以下代码复制到main.c中,再点bulid编译,以下是编译成功图片

#include "stm32f10x.h"                  // device header

int main(void)
{

}


步骤六:编写代码

通过编译后,继续入门第一课   点个灯

 首先看看自己的开发板原理图有没有led灯,如图

这个原理图中led一头接1k上拉电阻通往pb5引脚,另一头接去gnd。得知该led高电平点亮,低电平熄灭。

如果你的开发板的led是其他引脚,例 pa5,也是一样原理能点灯。

开始配置,在main.c中添加代码 :

然后就是gpio配置

配置好了,最后就是直接置1点亮(高电平)


步骤七:下载程序 

 后面就是通过仿真烧录器下载,将st-link v2仿真器连接到stm32芯片上,然后在keil mdk-arm开发工具中选择flash->download,将程序下载到芯片中。

打开小魔术棒-debug

成功点亮截图

代码奉上 

#include "stm32f10x.h"                  // device header

void	led_config(void)
{
	gpio_inittypedef gpio_initstructure;
    rcc_apb2periphclockcmd(rcc_apb2periph_gpiob, enable);
	
	gpio_initstructure.gpio_mode = gpio_mode_out_pp;
	gpio_initstructure.gpio_pin      = gpio_pin_5;
	gpio_initstructure.gpio_speed =gpio_speed_50mhz;
    gpio_init(gpiob, &gpio_initstructure);
}

int main(void)
{
	led_config();
	while(1)
	{
		gpio_setbits(gpiob, gpio_pin_5);
	}
}

 总结

 本教程介绍了如何入门stm32(标准库),包括安装开发工具、安装仿真器驱动、创建工程、配置工程、添加文件、编写代码、编译程序和下载程序等步骤。希望可以帮助初学者快速掌握stm32的基础知识和开发技巧。

没有人一开始是大佬,都是从小白入门的.谢谢阅读!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com