STM32——建工程

news2024/11/15 3:36:17

文章目录

    • 一、建工程步骤
      • 1. 创建一个工程文件
      • 2. 里面创建四个文件
      • 3. Lib:存放标准库的.c和.h文件,其中inc放置.h文件,src放置.c文件
      • 4. Startup中存放驱动文件
      • 5.User文件中包含以下路径以下文件
      • 6.创建工程Project

一、建工程步骤

以STM32F10X类型举例

1. 创建一个工程文件

在这里插入图片描述

2. 里面创建四个文件

分别是:
在这里插入图片描述

3. Lib:存放标准库的.c和.h文件,其中inc放置.h文件,src放置.c文件

在这里插入图片描述
3.1将该路径下的inc和src拷贝到创建的工程-Lib里
在这里插入图片描述

4. Startup中存放驱动文件

4.1其源文件存放于固件库资料,路径如下
在这里插入图片描述
4.2 小容量产品使用xx_ld
中容量产品使用xx_md
大容量使用xx_hd

在这里插入图片描述
4.3而闪存存储器容量需要在芯片选型手册中,找到对应型号的单片机,找到对应参数名-Flash,查看大小并选择对应的文件复制到4.1中的startup,根据大小我们选择hd放到startup中
在这里插入图片描述

5.User文件中包含以下路径以下文件

在这里插入图片描述
在这里插入图片描述

6.创建工程Project

6.1打开keil,点击project下的new project,将新工程命名并保存到自己创建的文件中的project文件夹里
在这里插入图片描述
6.2之后选择STMicorelectronics里的STM32F1 Series里的STM32F103里的STM32F103ZE
在这里插入图片描述
6.3之后选择界面中的CMSIS中CORE
在这里插入图片描述
6.4 点击上方类似“品”的按钮
在这里插入图片描述
6.5修改第一个组的名字为Startup并新建两个组(点击图中按钮即可新建)
在这里插入图片描述
6.6选中Startup,点击右下方Add Files
在这里插入图片描述
6.7找到并双击Startup,选择All files,选中该.s文件并点击add,点击add之后点击close关闭
在这里插入图片描述
6.8剩余的User和Lib也如上述方法
6.9点击上方类似魔术棒的按钮,选择target,ARM Compiler选择如图所示

在这里插入图片描述
在这里插入图片描述
6.10点击c/c++,将STM32F10x_HD,USE_STDPERIPH_DRIVER输入Define中
在这里插入图片描述
6.11添加路径
在这里插入图片描述
在这里插入图片描述
6.11.1添加lib里的inc和user,点击ok
在这里插入图片描述
6.11.2配置完成如下图所示,确认无误后点击ok
在这里插入图片描述
6.11.3点击左上角空白页新建一个main.c,即可编写代码
在这里插入图片描述

6.11.4点击ctrl+s保存到工程文件的user中
在这里插入图片描述
6.11.5双击user,点击返回上一级,在user中找到main.c,点击add即可
在这里插入图片描述

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

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

相关文章

若依不分离,弹层自定义按钮

记录下遇到的两种情况 第一种:点击按钮,打开第三方链接去支付,因为只需要显示一个关闭按钮 代码: // 表格操作列 {title: 操作,align: center,formatter: function (value, row, index) {var actions [];if (row.status1) {acti…

NAMD分子动力学模拟在生物及材料计算中的应用专题

第一天 时间 :第一天上午 内容:一:分子动力学相关软件及Linux入门 目标:了解NAMD软件,掌握NAMD安装环境,了解Linux语言 二:VMD可视化软件的安装和使用 三:研究对象模型获取,构建以及优化 主要…

7-WebApis-5

Web APIs - 5 目标: 能够利用JS操作浏览器,具备利用本地存储实现学生就业表的能力 BOM操作综合案例 js组成 JavaScript的组成 ECMAScript: 规定了js基础语法核心知识。比如:变量、分支语句、循环语句、对象等等 Web APIs : DOM 文档对象模型&#xff…

LeetCode 445.两数相加 II

给你两个 非空 链表来代表两个非负整数。数字最高位位于链表开始位置。它们的每个节点只存储一位数字。将这两数相加会返回一个新的链表。 你可以假设除了数字 0 之外,这两个数字都不会以零开头。 https://leetcode.cn/problems/add-two-numbers-ii/description/ c…

Elasticsearch全⽂检索

以下说明&#xff1a;其中比喻都是以mysql为模板进行比较说明 一.lucene 1.jar包环境准备 <!-- 引入Lucene核心包及分词器包 --><dependency><groupId>org.apache.lucene</groupId><artifactId>lucene-core</artifactId><version>…

82、基于stm32单片机音乐喷泉设计播放器频谱彩灯系统设计(程序+原理图+参考论文+开题报告+任务书+设计资料+元器件清单等)

摘 要 随着人们生活水平的提高和建立绿色城市的向往&#xff0c;音乐喷泉以其独特的魅力和特殊的功能&#xff0c;愈来愈成为休闲娱乐产业中的一项重要产品,音乐喷泉的兴建也越来越多。 根据目前音乐喷泉的发展现状&#xff0c;介绍了一个以STM32单片机为核心的小型音乐喷泉控…

Fiddler过滤器 Filters 详解

目录 前言&#xff1a; 一、 Hosts 过滤 &#xff08;较常用&#xff09; 二、Client Process 过滤&#xff08;客户端进程过滤&#xff0c;通过配置只过滤/不过滤哪些进程的请求。用的不多&#xff09; 三、Request Headers &#xff08;根据请求头信息进行过滤。常用&…

wireshark抓包工具实战

目录 参考一、关于Wireshark二、下载及安装三、基本概念每层类型Ethernet以太网层&#xff08;MAC地址&#xff09;协议目的地址 Internet网络层协议报文 Transmission传输层协议 三、tcp抓包三次握手连接四次握手断开http协议请求协议包应答协议包文件类型 参考 网络抓包工具…

Docker容器技术 详解!!!

目录 一、概述 &#xff08;一&#xff09;docker介绍 &#xff08;二&#xff09;为什么使用Docker &#xff08;三&#xff09;docker优势 1、运行环境的一致性&#xff1a; 2、更快速地启动部署&#xff1a; 3、更好的隔离性&#xff1a; 4、弹性伸缩、快速扩展&…

FreeRTOS_任务切换

目录 1. RendSV 异常 2. FreeRTOS 任务切换场合 2.1 执行系统调用 2.2 系统滴答定时器&#xff08;SysTick&#xff09;中断 3. PendSV 中断服务函数 4. 查找下一个要运行的任务 4.1 通用方法 4.2 硬件方法 5. FreeRTOS 的时间片调度 6. 时间片调度实验 6.1 实验程序…

Pushgetway安装和使用

1、Pushgetway安装和使用 1.1 Pushgateway是什么 pushgateway 是另一种数据采集的方式&#xff0c;采用被动推送来获取监控数据的prometheus插件&#xff0c;它可以单独运行在 任何节点上&#xff0c;并不一定要运行在被监控的客户端。 首先通过用户自定义编写的脚本把需要监…

ClickHouse浅谈

文章目录 前置知识什么是OLAP与OLTP行式数据库与列式数据库什么是行式和列式&#xff1f;行式和列式的优缺点 ClickHouse什么是clickhouse&#xff1f;clickhouse的使用架构clickhouse的优点和缺点clickhouse的功能特性计算层服务层向量化引擎 clickhouse的使用案例与其他OLAP相…

如何打开远程电脑的任务管理器?

关于任务管理器 任务管理器可以显示远程计算机后台运行的进程和应用程序及其使用状态。通过任务管理器提供的信息&#xff0c;您可以了解是否有程序或进程占用过多的CPU和内存&#xff0c;然后您可以选择结束应用程序或结束进程以提高远程电脑的运行速度。 如何访问远程电脑上…

SD 系统自动计算的税额 有差异

SD 系统自动计算的税额 有差异 1,002,000.00 * 13% 115,274.34 产生了0.03的价格舍入差异 &#xff08;保存前是正确的&#xff0c;保存后产生差异&#xff09; 解决办法&#xff1a;取消条件类型组条件即可

辅助行走机器人开发 —— 下位机控制

文章目录 总体设计硬件选型控制模式程序流程1 初始化2 FreeRTOSBalance_taskMPU6050_taskShow_taskLed_taskPs2_taskData_task 3 中断串口中断 辅助行走机器人开发项目总结 总体设计 项目分为语音模式、导航模式和手动模式。 语音模式、导航模式为ROS下发控制指令&#xff1…

java.lang.UnsupportedOperationException 异常处理

通过 json 字符串转化成的 asList &#xff0c;对该 List 进行 add 时&#xff0c;抛出异常 java.lang.UnsupportedOperationException 处理方案 List string new ArrayList<>(asList);

企业邮箱的多重用途:了解企业邮箱在工作中的重要作用

邮箱已经成为商务交流不可或缺的一部分。在企业界&#xff0c;邮箱被用于各种各样的任务&#xff0c;从内部沟通到客户服务。虽然许多组织已经转向更现代的通信方式&#xff0c;如即时消息&#xff0c;企业邮箱仍然是任何成功的商业运作的重要组成部分。以下是公司邮箱的一些主…

【小程序上传报错】message:Error: 系统错误,错误码:80058,desc of scope.userLocation is empty

根据错误信息 “Error: 系统错误&#xff0c;错误码&#xff1a;80058,desc of scope.userLocation is empty”&#xff0c;这是一个系统错误&#xff0c;错误码为80058。错误信息中提到了 scope.userLocation 的描述为空。 可能是因为在小程序中使用了 scope.userLocation 权…

5.4 服务器编程基本框架和两种高效的事件处理模式

5.4 服务器编程基本框架和两种高效的事件处理模式 服务器编程基本框架 虽然服务器种类繁多&#xff0c;但其基本框架都一样&#xff0c;不同之处在于逻辑处理&#xff08;比如开发Web服务器项目&#xff0c;浏览器客户端向服务端发送http请求&#xff0c;服务器对请求报文进行…

高压线路零序电流方向保护程序逻辑原理(三)

四、零序保护故障处理程序原理 零序保护逻辑程序可分为三个模块&#xff1a;快速动作部分、全相循环和非全相循环模块。这是根据零序保护的特点而设计的。任何一种高压线路保护都要求快速处理I段范围内的严重故障&#xff0c;所以零序保护与距离保护一样配有快速动作部分程序模…