stm32新建工程

stm32新建工程

文章目录

1.在任意位置新建工程文件夹

2.新建项目

打开keil 5------>project------>new uVision project

3.为项目命名

选中刚刚创建的文件夹后再文件名处输入工程名称(project)并点击保存

4.选择器件型号

选择适合自己板子的型号,这里是STM32F103C8

保存后的项目

当前项目还不能直接使用,还需要加入启动文件

5.查找启动文件(开始找Start文件夹所需文件,5-9)

固件库\STM32F10x_StdPeriph_Lib_V3.5.0\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm

再固件库目录下查找启动文件即下图:

6.导入启动文件

复制arm文件夹中的所有文件,并导入项目文件夹中(新建文件夹(start),并将复制的内容粘贴)

7.找到外设文件

固件库\STM32F10x_StdPeriph_Lib_V3.5.0\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x

stm32f10x.h描述STM有哪些寄存器和它对应的地址的

两个system文件时用来配置时钟的,STM32主频72MHz,就是system文件里的函数配置的

8.粘贴外设文件

将上述的3个文件复制到start文件夹中

因为STM32是内核和内核外围的设备组成的,而且内核的寄存器描述和外围设备的描述文件不是在一起的,所以还需要添加一个内核寄存器的描述文件

9.找到内核寄存器描述

固件库\STM32F10x_StdPeriph_Lib_V3.5.0\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\CoreSupport

cm3文件就是内核的寄存器描述,还带着内核的配置函数,所以多了个.c文件。

将上述文件复制,并粘贴到start文件下

工程必要文件准备完成!

10.添加文件到项目

将文件类型改成ALL FILE

将下图文件添加入当前项目

这些都是最基本的文件,不需要我们修改,添加进来即可(小钥匙图表代表这只是个只读文件)

11.添加头文件的路径

在c/c++的目录下,找到include path

添加新路径

找到红叉叉的左边的new insert,然后点击三个点添加start文件路径

12.验证是否成功

12.1在工程文件夹下创建User文件夹

创建该文件夹用于存放main函数

12.2在工程里添加User

添加新组并重命名为User(点击一下,再点击一下)

12.3添加新项目

User------>add new item to the group "User "------>选择C------>修改名称(main)------>位置修改为User

12.4添加随意代码验证

最后一行必须是新的一行(回车一行)否则会报错

第一个头文件可右键插入,insert #include file

目前还没有添加STM32的库函数,所以它还是一个基于寄存器开发的工程。其他两个库的添加可以看总结处。

n.总结(其实只看总结就可以)

导入User,Start,Library文件总结

在项目的目录下创建三个文件夹命名为User,Start和Library,然后按照如下操作

  1. 在固件库的devicesport------>arm内找到启动文件,再找到stm32f10x和system的两个文件,将其复制到Start文件夹下,再找到coresupport的两个文件(core_cm3.h)并粘贴到Start文件夹下,这样start文件的文件就复制完成了
  2. 找到标准外设驱动的文件(src下和inc下),全部复制到Library文件夹下
  3. 打开project文件夹,打开后缀为template,选择main,conf,两个it文件,复制到User文件夹下(直接复制c文件后面就不需要再建了)
  1. 再点击方块

点击后删除原本默认的分组,新建个组后添加Start,User,Library三个文件夹,点击add files添加需要的文件

添加Start的文件,先选一个md后缀的启动文件,后全选.c和.h后缀的文件

添加Library的文件,打开Library文件夹,全选添加

添加User的文件,打开User文件夹,全选添加

魔术棒内的设置

点击魔术棒工具,c/c++处的include path将我们的所有文件的路径录入(Start/User/Library),再Define处写上USE_STDPERIPH_DRIVER,Debug处修改为ST-link,在右边设置flash下载,勾选reset和run

这样工程的配置就完成了。

删掉main.c里面的代码,并右键插入头文件(stm32f10x),然后开始敲代码。

好工具推荐

一个好用的文件Keilkill.bat是一个批处理文件,可以把编程产生的中间文件都删掉.

文件夹占空间的主要就是Listing和objects两个文件夹,这些都是工程的中间文件,当要分享给别人的时候可以双击批处理文件(keilkill.bat),将中间文件都删掉。

相关推荐
星辰pid2 小时前
STM32实现四自由度机械臂(SG90舵机)多功能控制(软件篇freertos)
stm32·单片机·嵌入式硬件·机械臂
森焱森7 小时前
水下航行器外形分类详解
c语言·单片机·算法·架构·无人机
小殷学长9 小时前
【单片机毕业设计17-基于stm32c8t6的智能倒车监测系统】
stm32·单片机·课程设计
TESmart碲视11 小时前
HKS201-M24 大师版 8K60Hz USB 3.0 适用于 2 台 PC 1台显示器 无缝切换 KVM 切换器
单片机·嵌入式硬件·物联网·游戏·计算机外设·电脑·智能硬件
small_wh1te_coder12 小时前
硬件嵌入式学习路线大总结(一):C语言与linux。内功心法——从入门到精通,彻底打通你的任督二脉!
linux·c语言·汇编·嵌入式硬件·算法·c
花落已飘12 小时前
STM32中实现shell控制台(shell窗口输入实现)
stm32·单片机·嵌入式硬件
花落已飘12 小时前
STM32中实现shell控制台(命令解析实现)
stm32·shell
没有钱的钱仔13 小时前
STM32低功耗模式全面指南
css·stm32·css3
牵牛老人14 小时前
Qt处理USB摄像头开发说明与QtMultimedia与V4L2融合应用
stm32·单片机·qt
宇钶宇夕15 小时前
针对工业触摸屏维修的系统指南和资源获取途径
单片机·嵌入式硬件·自动化