小兴教你做平衡小车-stm32程序开发(新建通用工程)

文章目录

  • 1、准备工作
  • 2、拷贝文件
    • 2.1 拷贝文件到FWLIB文件夹
    • 2.2 拷贝文件到CMSIS文件夹
    • 2.3 拷贝文件到USER文件夹
  • 3、keil新建工程
  • 4、通用工程下载

参考博客: 零死角玩转stm32初级篇1-从零创建STM32工程模板

1、准备工作

首先呢,我们用压缩软件解压之前下载好的固件库文件。
在这里插入图片描述
打开文件后可以看到下面的文件。这篇博客可以看看哈,主要是对下面的文件做进一步的解释。
STM32官方固件库(标准固件库)下载及介绍
在这里插入图片描述
下面呢,就到稍微麻烦的文件复制粘贴的环节了。
首先呢,先创建一个文件夹Template,里面包含了四个文件夹USER、CMSIS、FWLIB、OUTPUT。
USER文件夹主要存放工程文件和main.c文件。

CMSIS文件夹主要存放芯片的启动文件以及核心文件。
有人这时候就有疑问了,那CMSIS究竟是什么嘞,这里继续附上链接,大家看看哈。CMSIS是什么,你了解吗?

FWLIB文件夹主要存放官方给的stm32的外设的源文件和头文件。
在这里插入图片描述
在这里插入图片描述
OUTPUT文件夹主要存放工程编译后产生的生成文件。

2、拷贝文件

2.1 拷贝文件到FWLIB文件夹

\en.stsw-stm32054_v3-6-0\STM32F10x_StdPeriph_Lib_V3.6.0\Libraries\STM32F10x_StdPeriph_Driver
下面的inc和src文件夹拷贝的FWLIB文件夹中。
在这里插入图片描述
在这里插入图片描述
因为inc和src文件是官方给的文件,一般都是不需要改动的。我们可以把文件设置为只读。
在这里插入图片描述

2.2 拷贝文件到CMSIS文件夹

在CMSIS文件夹中新建一个startup文件用来存放芯片的启动文件。
在这里插入图片描述
\en.stsw-stm32054_v3-6-0\STM32F10x_StdPeriph_Lib_V3.6.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm文件夹下的文件全部拷贝到CMSIS文件夹下的startup文件夹下。注意:同样这些文件也都可以设置为只读文件,毕竟我们也不需要对其做修改的。
在这里插入图片描述
在这里插入图片描述
继续将\en.stsw-stm32054_v3-6-0\STM32F10x_StdPeriph_Lib_V3.6.0\Libraries\CMSIS\CM3\CoreSupport文件夹下的文件拷贝到CMSIS文件夹下。注意:同样这些文件也都可以设置为只读文件,毕竟我们也不需要对其做修改的。
在这里插入图片描述
在这里插入图片描述
\en.stsw-stm32054_v3-6-0\STM32F10x_StdPeriph_Lib_V3.6.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x文件夹下的下图所示三个文件拷贝到CMSIS文件夹中。注意:同样这些文件也都可以设置为只读文件,毕竟我们也不需要对其做修改的。
在这里插入图片描述
在这里插入图片描述

2.3 拷贝文件到USER文件夹

\en.stsw-stm32054_v3-6-0\STM32F10x_StdPeriph_Lib_V3.6.0\Project\STM32F10x_StdPeriph_Template下图所示的文件拷贝到USER文件夹下。这里可以把system_stm32f10x.c文件设置为只读文件(其实USER文件夹的system_stm32f10x.c用不到,用CMSIS的system_stm32f10x.c即可)。
在这里插入图片描述
在这里插入图片描述

3、keil新建工程

首先点击Project,选择第一个新建工程。
在这里插入图片描述
项目保存路径在USER目录下。项目的名字可以随意,我这里取得是Template
在这里插入图片描述
选择对应的芯片型号,点击OK即可。
在这里插入图片描述
点击OK即可。
在这里插入图片描述
点击形如品的图标。
在这里插入图片描述
添加如图所示的文件。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
之后点击下图所示图标。
在这里插入图片描述
选择Target栏目,选择编译器为V5.06 update 7(build 960)版本。
在这里插入图片描述
选择Output栏目,点击select folder for objects来修改生成文件的路径,这里设置到我们之前新建的OUTPUT文件夹下面。另外,下图的三个勾都要勾选的。
在这里插入图片描述
在C/C++栏中,在Define中填入USE_STDPERIPH_DRIVER
参考博客:STM32标准库编程中USE_STDPERIPH_DRIVER的用法理解

之后还需要添加下头文件包含的路径。头文件是指的.h后缀的文件哦。

在这里插入图片描述
修改main.c文件如下图所示,这样看起来更加清爽。
在这里插入图片描述
点击编译按键,即可以完成工程的编译,可以看出,编译成功。
在这里插入图片描述

4、通用工程下载

链接:https://pan.baidu.com/s/1jrgKMKDkzqY_0Mj1HTkiAA 
提取码:r7l7

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/2803167.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

基于springboot+vue的植物健康系统(前后端分离)

博主主页:猫头鹰源码 博主简介:Java领域优质创作者、CSDN博客专家、阿里云专家博主、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战,欢迎高校老师\讲师\同行交流合作 ​主要内容:毕业设计(Javaweb项目|小程序|Pyt…

2024开年,手机厂商革了自己的命

文|刘俊宏 编|王一粟 2024开年,AI终端的号角已经由手机行业吹响。 OPPO春节期间就没闲着,首席产品官刘作虎在大年三十就迫不及待地宣布,OPPO正式进入AI手机时代。随后在开年后就紧急召开了AI战略发布会,…

Django学习笔记-创建第一个django项目

1.创建一个虚拟环境的python项目 2.点击解释器设置 3.安装django包 4.终端选择Command Prompt 5.创建django项目运行django-admin startproject demo01(自命名) 6.修改连接数据库为mysql 7.修改语言(中国汉语)和时区(亚洲上海)USE_TZ改为False,否则时区不生效 8.修改TEMPLA…

Vue | (四)使用Vue脚手架(上) | 尚硅谷Vue2.0+Vue3.0全套教程

文章目录 📚初始化脚手架🐇创建初体验🐇分析脚手架结构🐇关于render🐇查看默认配置 📚ref与props🐇ref属性🐇props配置项 📚混入📚插件📚scoped样…

关于设备连接有人云的使用及modbus rtu协议,服务器端TCP调试设置

有人云调试 调试过程问题1. 关于modbus rtu协议,实质上有三种modbus基本原理modbus 格式2. 关于modbus crc16通信校验3. 关于在ubuntu阿里云服务器端,监听网络数据之调试mNetAssist4. 使用有人FAE传给的设置软件问题???之前的一个项目,再拿出来回顾下。 调试过程 先 要在有…

寄存器的功能和地址详细信息

基于Modbus协议中各种寄存器的功能和地址详细信息,这里再进一步阐述它们如何对应于DI(数字输入)、DO(数字输出)、AI(模拟输入)、和AO(模拟输出)类型: 离散输入…

golang 监听ip数据包(golang纯享版)

golang 监听ip数据包(golang纯享版) 【注】本机编译运行平台为linux,如需测试代码请移至linux平台进行代码测试 本文以ip4 作为案例进行包抓取示范,ip6抓取与ip4方式异曲同工,可自行举一反三得出 第一步,通过wireshark抓包拿到…

【LeetCode: 889. 根据前序和后序遍历构造二叉树 + DFS】

🚀 算法题 🚀 🌲 算法刷题专栏 | 面试必备算法 | 面试高频算法 🍀 🌲 越难的东西,越要努力坚持,因为它具有很高的价值,算法就是这样✨ 🌲 作者简介:硕风和炜,…

【Java程序设计】【C00280】基于Springboot的校友社交系统(有论文)

基于Springboot的校友社交系统(有论文) 项目简介项目简介项目获取开发环境项目技术运行截图 项目简介 项目简介 这是一个基于Springboot的校友社交系统 本系统分为系统功能模块、管理员功能模块以及用户功能模块。 系统功能模块:在系统首页…

10.Halcon形态学膨胀,腐蚀,开运算,闭运算

膨胀:对边界点进行扩充,填充空洞,使边界向外部扩张的过程。 腐蚀:消除物体边界点,使边界向内部收缩的过程,把小于结构元素的物体去除掉. 开运算: 先腐蚀后膨胀的过程称为开运算。 作用 : 去除孤立的小点,毛刺,消除小物体,平滑较大物体边界,同时不改变其面积. 闭运…

企业级大数据安全架构(十一)Kerberos接入dophinscheduler

作者:楼高 建议将dophinscheduler集成到Ambari安装部署,在Ambari上面开启kerberos 1.安装准备 编译 从GitHub获取dolphinscheduler-1.3.9源码 git clone https://github.com/apache/dolphinscheduler.git -b 1.3.9-releasehttps://github.com/apache/…

解决Jenkins-2.396启动报错:Failed to start Jenkins Continuous Integration Server.

场景:现有环境已经使用Java 8在运行业务,安装Jenkins后启动报错。 原因:因为Jenkins-2.396 依赖于Java 11 版本才能启动。 解决方法: yum 安装Java11 yum install java-11-openjdk-devel java-11-openjdk 或者二进制安装java11修…

element导航菜单el-menu添加搜索功能

element导航菜单-侧栏&#xff0c;自带的功能没有搜索或者模糊查询。 找了找资料 找到一个比较可行的&#xff0c;记录一下&#xff1a; //index.vue的代码 <div style"overflow:auto"><el-menu :default-active"$route.path":default-openeds&…

如何让程序员过一个没有烦恼的假日

每逢假期、周末&#xff0c;总是被各种排障会和线上问题折磨&#xff0c;做什么都做不进去&#xff0c;也没法好好休息…… 常会听身边的同行们这样描述自己的假期。说实话&#xff0c;这感觉我可太熟悉不过了&#xff0c;因为这状态困扰了我好几年…… 不管你是正吃着火锅还是…

时域系统到频域响应的直观解析及数学推导

课本里经常有已知系统时域的差分方程&#xff0c;求系统的频率响应这样的题&#xff0c;老师会讲怎么带公式进去解决&#xff0c;怎么查表解决&#xff0c;但我们总时无法直观地理解这两种转换的特殊关联在哪里&#xff0c;这篇文章以FIR滤波器为例&#xff0c;不仅列出了课本里…

CHiME丨​MMCSG(智能眼镜多模态对话)

CHiME 挑战赛已经正式开启&#xff0c;今天分享下 CHiME 的子任务MMCSG(智能眼镜多模态对话)&#xff0c;欢迎大家投稿报名&#xff01; 赛事官网&#xff1a;https://www.chimechallenge.org/current/task3/index CHiME (Computational Hearing in Multisource Environments…

最新版opencv4.9安装介绍,基本图像处理详解

文章目录 一、什么是OpenCV &#xff1f;二. OpenCV 安装1. 下载地址2.安装命令&#xff1a;pip install opencv-python 三、图像基础1. 基本概念2. 坐标系3. 基本操作&#xff08;彩色图片&#xff09;&#xff08;1&#xff09;读取图片&#xff1a;cv2.imread( )&#xff08…

小程序--vscode配置

要在vscode里开发微信小程序&#xff0c;需要安装以下两个插件&#xff1a; 安装后&#xff0c;即可使用vscode开发微信小程序。 注&#xff1a;若要实现鼠标悬浮提示&#xff0c;则需新建jsconfig.json文件&#xff0c;并进行配置&#xff0c;即可实现。 jsconfig.json内容如…

vue3新特性-defineOptions和defineModel

defineOptions 背景说明&#xff1a; 有 <script setup> 之前&#xff0c;如果要定义 props, emits 可以轻而易举地添加一个与 setup 平级的属性。 但是用了 <script setup> 后&#xff0c;就没法这么干了 setup 属性已经没有了&#xff0c;自然无法添加与其平…

【Java程序设计】【C00278】基于Springboot的数码论坛管理系统(有论文)

基于Springboot的数码论坛管理系统&#xff08;有论文&#xff09; 项目简介项目获取开发环境项目技术运行截图 项目简介 这是一个基于Springboot的数码论坛系统 本系统分为系统功能模块、管理员功能模块以及用户功能模块。 系统功能模块&#xff1a;在系统首页可以查看首页、…