基于STM32F103VE建立工程

发布者:Qingliu2022最新更新时间:2025-02-25 来源: jianshu关键字:STM32F103VE  建立工程 手机看文章 扫描二维码
随时随地手机看文章

本篇参考 《传感网应用开发职业技能等级认证》培训教材

1.建立工程存放的文件夹

在 D 盘根目录新建文件夹“STM32_WorkSpace”用于保存所有的任务工程,然后在该文件夹下新建文件夹“task1_ProjectFirst”用于保存本任务工程;不能有中文路径;

2.新建 STM32CubeMX 工程

打开 STM32CubeMX 工具,点击“ACCESS TO MCU SELECTOR(选择 MCU)”按钮,如图图1所示;


图1.png?imageView2/2/w/1000


进入“MCU 选择”窗口,如图 2 所示。在图 2 中的标号①处,输入 MCU 型号的关键字,如:STM32F103VE。点击标号②处的MCU 型号,然后点击标号③处的“Start Project”按钮新建 STM32CubeMX 工程;

图2.png?imageView2/2/w/1000

3.配置调试端口

以 ST-Link 仿真器为例,讲解调试端口的配置过程。
展开“Pinout & Configuration”标签页左侧的“System Core(系统内核)”选项(图 3中标号①处),选择“SYS(系统)”选项(图 3 中标号②处),将“Debug(调试)”下拉菜单改为“Serial Wire(串口线)”选项(图 3中标号③处)。即可将“PA13”引脚配置为 SWDIO 功能(图 3 中标号⑤处),“PA14”引脚配置为 SWCLK 功能(图 3 中标号④处)


图3.png?imageView2/2/w/1000

4.配置 MCU 时钟树

选择“Pinout & Configuration”标签页左侧的“RCC(复位、时钟配置)”选项,如图 4 的标号①所示。将 MCU 的“High Speed Clock(HSE,高速外部时钟)”配置为
“Crystal/Ceramic Resonator(晶体/陶瓷谐振器)”,如图 4的标号②所示。同样地,将 MCU 的“Low Speed Clock(LSE,低速外部时钟)”配置为“Crystal/Ceramic Resonator(晶体/陶瓷谐振器)”,如图 4的标号③所示。配置完毕后,MCU 的“Pinout View(引脚视图)”中相应的引脚功能将被配置,如图 4中的标号④和⑤所示。


图4.png?imageView2/2/w/1000


切换到“Clock Configuration(时钟配置)”标签,进行 STM32 微控制器的时钟树配
置,如图 5 所示。图中各个标号的含义如下:
标号①:“PLL Source MUX(锁相环时钟源选择器)”的时钟源选择为“HSE”,即:8MHz外部晶体谐振器;
标号②:“PLLMul(锁相环倍频)”配置为“9”;
标号③:“System Clock MUX(系统时钟选择器)”的时钟源选择为“PLL”;
标号④:配置“SYSCLK(系统时钟)”为 72MHz;
标号⑤:配置“HCLK(高性能总线时钟)”为 72MHz;
标号⑥:配置“Cortex System timer(Cortex 内核系统嘀嗒定时器)”的时钟源为 HCLK的八分之一,即:9MHz;
标号⑦:配置“APB1 Peripheral clocks(低速外设总线时钟)”为 HCLK 的二分频,即:36MHz。
标号⑧:配置“APB2 Peripheral clocks(高速外设总线时钟)”为 HCLK 的一分频,即:72MHz。


图5.png?imageView2/2/w/1000

5.配置 GPIO 功能

开发板的“PE6”引脚与 LED 灯——“LED2”相连。在 STM32CubeMX 工具的配置主界面,用鼠标左键点击 MCU 的“PE6”引脚处,选择功能“GPIO_Output”。如图 6所示。


图6.png?imageView2/2/w/1000


然后用鼠标右键点击“PE6”引脚,选择“Enter User Label”选项,输入值“LED2”,将“PE6”引脚的“用户标签”值配置为“LED2”,点击“GPIO”,选中“PE6”,确保 PE6 引脚的配置如图 7 中的④~⑥所示。


图7.png?imageView2/2/w/1000

6.保存 STM32CubeMX 工程

点击“File(文件)”菜单,选择“Save Project(保存工程)”选项,如图 8 中标号①和标号②所示。然后定位到文件夹“D:STM32_WorkSpacetask1_ProjectFirst”,点击“确定”保存 STM32CubeMX 工程;


图8.png?imageView2/2/w/1000

7.生成 C 代码初始工程

切换到“Project Manager(工程管理)”标签,进行“C 代码工程”的配置,如图 9所示。


图9.png?imageView2/2/w/1000


点击左侧“Code Generator(代码生成)”配置标签,将“STM32Cube Firmware Library
Package”单选框的选项改为“Copy only the necessary library files”,如图 9中的标号①所示。在“Generated files”复选框中增加勾选“Generate peripheral initializationas a pair of “.c/.h” files per peripheral”选项。如图 9 中标号②所示。点击左侧的“Project(工程)”配置标签进行“C 代码工程”保存的相关配置。由于之前已保存过 STM32CubeMX 的工程,因此“Project Name(工程名)”和“Project Location(工程存放位置)”处的信息已填好(分别如图 10 的标号①和标号②处所示)。

图10.png?imageView2/2/w/1000


点击图 10 中的“Toolchain/IDE”下拉菜单(图 10中标号③处),选择集成开发环境为“MDK-ARM V5”。最后点击“GENERATE CODE(生成代码)”按钮(图 10中标号④处),即可生成相应的C 代码工程。

8.完善 main()函数

生成的 C 代码工程位于工程文件夹中的“MDK-ARM”中,如图 11中的标号①处所示。双击工程文件(图 11中标号②处),使用 MDK-ARM 工具打开:


图11.png?imageView2/2/w/1000


打开后的工程如图 12 所示,展开左侧的“工程列表”窗口,打开“main.c”文件(图 12 的标号①处),在 while(1)代码段中添加标号②处所示的两行代码。


图12.png?imageView2/2/w/1000

9. C 代码工程配置

点击快捷工具栏中的魔术棒图标进行 C 代码工程的配置(图 13 中标号①处)。切换到“Debug”标签(图 13 中标号②处),选择相应的调试工具,如:ST-Link Debugger(图 13 中标号③处)。


图13.png?imageView2/2/w/1000


点击图 13 中的“Settings”按钮(标号④处)进入“调试与下载配置”界面,将调试工具端口改为“SW”,如图 14 子图(a)中标号①处所示。如果 STM32 微控制器连接正常,则会在右上角的“SW Device”窗口看到已连接的设备(图 14 子图(a)中标号②处)。点击“Flash Download”标签切换到“下载配置”界面(图 14 子图(b)中的标号③处),勾选“Reset and Run”选项(图 14 子图(b)中的标号④处)。经过这样的配置以后,程序下载到 STM32 开发板后会自动重启并运行。


图14.png?imageView2/2/w/1000

9. 编译工程、下载并运行

将 M3 主控模块板的 JP1 拨码开关拨向“boot”模式,如图16 M3 主控模块板烧写设置所示。可点击工具栏中的“Build(F7)”按钮进行工程的编译。编译无误后,点击工具栏中的“DownLoad(F8)”按钮进行工程的下载并运行。如图 16 中的标号①和标号②处所示。烧写完成后,再拨到NC模式,按复位键,观察LED灯;

图15.png?imageView2/2/w/1000

图16.png?imageView2/2/w/1000

本工程运行的现象是 LED2 闪烁,亮 1 秒灭 1 秒,周期为 2 秒。
——————————————————————————————
总结:基于微控制器最小系统运行原理,工程创建的关键步骤是对MCU的必要资源进行配置,其中下载端口配置,MCU时钟配置是每一个工程项目创建都必须的步骤;另外,注意工程创建的英文路径,以及保存工程前的基本配置;在编译工程,下载并运行环节,
参考文档,,可以帮助理解ST-LINK下载原理和BOOT启动模式;


关键字:STM32F103VE  建立工程 引用地址:基于STM32F103VE建立工程

上一篇:VirtualBox 安装 Ubuntu 20.04
下一篇:如何更好的利用DMA实现数据的搬运和存储

推荐阅读最新更新时间:2026-03-25 12:03

STM32F407VET6之IAR之ewarm7.80.4工程建立(基于官方固件库1.6版本) 的工程文件目录
最后整理结构如下所示, ├─cmsis │ startup_stm32f401xx.s │ startup_stm32f40xx.s │ startup_stm32f40_41xxx.s │ startup_stm32f410xx.s │ startup_stm32f411xe.s │ startup_stm32f427x.s │ startup_stm32f427_437xx.s │ startup_stm32f429_439xx.s │ startup_stm32f446xx.s │ startup_stm32f469_479xx.s │ stm32f4xx_flash.icf │ ├─inc │ arm_common_tab
[单片机]
STM32F407VET6之IAR之ewarm7.80.4工程建立(基于官方固件库1.6版本)
今天把stm32F407的工程之IAR建立完成了,特此记录下。 下载官方固件库,STM32F4xx_DSP_StdPeriph_Lib_V1.6.1,V1.8.0版本的同理。 新建以下几个文件 src放官方的各个c文件 inc放官方的各个h文件,以及用户的h文件,这样可以方便在options里只需要一个目录即可,方便点。 cmsis 放官方的.s汇编文件,.icf文件,icf文件是iar特有的,keil创建工程没有这个文件的。 user,放用户自己的C文件 project,放置iar工程,就是工程文件*.ewp所在目录 无obj目录,iar会自动建立该文件的。 最后的目录如下所示: 文件的来源,可以在STM32F4xx_DSP_S
[单片机]
【51单片机】keil建立工程与烧录软件操作(1)
Keil建立工程 1.进入主界面 2.工程-新建μVision工程 3.选择设备。Atmel-AT89C52 4.新建空白页-C文件格式保存(.c) 5.双击源组-将C文件添加入源组 6.目标设置 Output-勾选Create HEX File(每个新工程都要勾选一遍) 烧录软件操作 1.烧录前,连接好板子与电脑。(直接接到电脑USB接口上,不要接到集线器上)。 打开烧录软件 2.查看usb串口号 3.选择单片机型号和本机USB串口号(串口号不一定) 4.选择刚编译好的程序 5.下载到单片机上
[单片机]
【51单片机】keil<font color='red'>建立</font><font color='red'>工程</font>与烧录软件操作(1)
【STC15库函数上手笔记】1、建立工程
STC实验箱4 IAP15W4K58S4 Keil uVision V5.29.0.0 PK51 Prof.Developers Kit Version:9.60.0.0 在STC官网发现了库函数,大受震撼: 宏晶科技官方网站 直接搜“库函数”,目前仅有STC15和STC8系列有库函数: 内容如下 新建工程 复制库函数到工程内 添加文件到工程中 STC15Fxxxx.H delay.c delay.h config.h 这几个文件为必须的,其他的按需添加。 main.c #include ./Drivers/config.h #include ./Drivers/delay.h void main(
[单片机]
【STC15库函数上手笔记】1、<font color='red'>建立</font><font color='red'>工程</font>
使用IAR建立stm8工程记录
打开project 2、Create New Project… 3、Empty project 4、保存工程到指定文件夹 新建完工程如下: 5、配置Options 6、选择stm8器件 7、输出Hex文件 8、Linker配置 9、Debugger 10、添加文件、分组 11、添加STM8S_StdPeriph_Driver 11.1:添加 .c文件 11.2:添加 .h路径 在项目上右键–打开option,左侧选择C/C++ Complier,右侧选择Preprocessor,然后再底下Additional include directories文本框中添加 “P R O J D I
[单片机]
使用IAR<font color='red'>建立</font>stm8<font color='red'>工程</font>记录
u-boot-2009.08在mini2440上的移植(一)---建立mini2440工程环境(1)
移植环境 1,主机环境:VMare下CentOS 5.5 ,1G内存。 2,集成开发环境:Elipse IDE 3,编译编译环境:arm-linux-gcc v4.4.3,arm-none-eabi-gcc v4.5.1。 4,开发板:mini2440,2M nor flash,128M nand flash。 5,u-boot版本:u-boot-2009.08 6,参考文章: http://blogold.chinaunix.net/u3/101649/showart.php?id=2105215 http://blog.chinaunix.net/space.php?uid=23787856&do=blog&id=115382
[单片机]
u-boot-2009.08在mini2440上的移植(一)---<font color='red'>建立</font>mini2440<font color='red'>工程</font>环境(1)
第6章 STM32F429工程模板建立(IAR8)
6.1 初学者重要提示 IAR的工程创建过程还是比较重要的,务必实际上手操作一遍。 6.2 第1步,创建工程文件夹 创建一个文件夹,里面包含如下文件(直接将跑马灯例子的Project文件里面内容全部删除,然后整个工程复制进来即可)。 Doc文件夹 用于记录例程的修改记录和例子简介。 Libraries文件夹 在第一章详细介绍从官网的下载方法。 Project文件夹 这个是本章的重点,在这个文件夹里面再建立两个文件夹,EWARMv8文件夹用于存放IAR工程,MDK-ARM(uV5)文件夹里面用于存放MDK工程,方便以后创建MDK的工程。 User文件夹 这个是要用户提供的,开发板已经都提供好,bsp文件夹里面
[单片机]
第6章 STM32F429<font color='red'>工程</font>模板<font color='red'>建立</font>(IAR8)
Imagination和浙江大学信息与电子工程学院宣布建立合作关系
双方的合作关系建立在Imagination RISC-V教学课程的基础上,课程增加了新的练习并优化了现有资料 英国伦敦,2021年9月9日 – Imagination Technologies宣布与浙江大学信息与电子工程学院(ZJU-ISEE)建立正式合作关系,以进一步开发Imagination“RVfpga – 认识计算机体系结构”课程的培训资料,这也是Imagination大学项目(IUP)的一部分。浙江大学久负盛名的信息与电子工程学院正与IUP密切合作,开发“培训教师”(Train the Teacher)系列研讨会,测试新的课程实验以补充和扩展现有资料(新版本资料将于2021年11月发布),并打造课程的在线自学版本。
[嵌入式]
小广播
最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

厂商技术中心

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

 
机器人开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2026 EEWORLD.com.cn, Inc. All rights reserved