单片机01天_stm32f407zg_创建新工程

创建“寄存器版工程”

1、创建工程文件夹

创建工程文件夹“Project”,内部包含文件夹“CMSIS”&&“USER”。

CMSIS:Cortex系列内核接口驱动文件。

USER:存放用户编写的程序文件。

“USER”文件夹内包含“Inc”&&“Src”。

在“存放用户自己编写的程序文件”的文件夹下再建立两个分类文件夹并自定义命名,

Src:用于存放“C源程序文件”

Inc:存放“源程序文件对应的头文件”

2、准备工程文件

固件库可从网址:www.stmcu.org.cn下载。

 ①把固件库中“Libraries”文件夹下的“CMSIS”文件夹中的“Include”(Cortex系列内核接口驱动文件对应的头文件)文件夹复制到工程,存放到CMSIS文件夹下。

 ②把“STM32F4xx_DSP_StdPeriph_Lib_V1.4.0\Libraries\CMSIS\Device\ST\STM32F4xx\Include文件夹下”的“stm32f4xx.h(STM32F40x芯片工程头文件)”和“system_stm32f4xx.h”(系统时钟头文件)文件复制到工程,存放到CMSIS。

③把“\Libraries\CMSIS\Device\ST\STM32F4xx\Source\Templates\arm”文件夹下的“startup_stm32f40_41xxx.s”(STM32F40x芯片启动文件)文件复制到工程,存放CMSIS文件夹下。

④把“\Libraries\CMSIS\Device\ST\STM32F4xx\Source\Templates”文件夹下的“system_stm32f4xx.c”(系统时钟源程序文件)文件复制到工程,存放CMSIS文件夹下。

1.

打开Keil软件,在“Project”菜单栏下选择“New μVision Project”命令新建一个工程,并对工程进行自定义命名(工程名不需要后缀名)后保存到新建的工程文件夹下。

2.

根据工程使用的芯片,选择具体对应的芯片信号(STM32F407ZGTx)。

3.

配置工程选项(点击“工具栏”中“品字形”按钮)

        ①第一列为工程的名称,双击可以更改工程名称或工程版本号。

        ②第二列为工程组别,点击“新建(New)”按钮创建两个工程分组,并自定义命名。两个工程分组分别是“内核接口组(建议命名CMSIS)”和“用户组(建议命名USER)”。

        ③第三列为工程组相关联文件。

        ④内核接口组:点击“ADD File”按钮,把存放在“Cortex系列内核接口驱动文件CMSIS”的文件夹下的“startup_stm32f40_41xxx.s(启动文件)”和“system_stm32f4xx.c(系统时钟文件)”添加到“内核接口组”中。然后点击OK.

4.

设置工程参数(点击“工具栏”中“魔术棒”按钮)

        ①Output选项卡:勾选“Create HEX File”选项。

        ②C/C++选择卡:

                1)在“Define”栏中填入“STM32F40_41xxx”。主要是为了告诉编译器,工程使用哪一款主控芯片,在选择芯片的头文件中,执行相应的程序。STM32F40_41xxx

                2)在“Include Paths”栏中设置Keil软件头文件的查找路径。

                        .\ CMSIS\Include

                        .\ CMSIS

                        .\USER\Inc

                3)Debug选项卡:设置调试相关的调试器硬件型号(ST-LINK Debugger)。

                4)Utilities选项卡:去掉勾选“Use Dubug Driver(软件仿真功能)”选项,并选择对应的硬件仿真器型号(ST-LINK Debugger)。然后在“Settings”选项中勾选“Reset and Run”选项。

                5)如果窗口界面不小心删除或者找不到,可以选择恢复界面显示。

3、新建工程文件
  1. 点击“工具栏”中“新建文件”的命令图标或在“File”菜单栏中选择“New”命令来新建一个工程文件。
  2. 把新建的工程文件按照文件的类别保存到“用户自己编写的程序文件夹”下的相应文件夹中,并自定义命名,命名时需要添加文件的相关后缀名(源文件的后缀名为.c,头文件的后缀名为.h)。
  3. 把新建个工程源文件关联到工程相应的组别中。

注:工程中只需要关联源文件,头文件不需要关联,但必须把头文件保存到指定的路径文件夹下。STM32F40x系列工程头文件为“stm32f4xx.h”。点击“Build”图标为编译工程修改过的地方(第一次编译时,会编译整个工程);“Rebuild”图标为重新编译成功工程。

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

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

相关文章

陶陶摘苹果C++

题目&#xff1a; 代码&#xff1a; #include<iostream> using namespace std; int main(){//一、分析问题//已知&#xff1a;10 个苹果到地面的高度a[10],陶陶把手伸直的时候能够达到的最大高度height//未知&#xff1a;陶陶能够摘到的苹果的数目sum。//关系&#xff…

Google:Gemini 1.5跨数百万上下文令牌解锁多模态理解技术报告(中文)

1、概述 在本报告中,我们展示了 Gemini 系列的最新模型 Gemini 1.5 Pro,这是一个计算效率极高的多模态专家混合模型,能够从数百万个上下文标记中回忆和推理细粒度信息,包括多个长文档和数小时的视频和音频。Gemini 1.5Pro 在跨模态的长上下文检索任务上实现了近乎完美的召回…

《Solidity 简易速速上手小册》第2章:搭建 Solidity 开发环境(2024 最新版)

文章目录 2.1 安装和配置 Solidity2.1.1 基础知识解析安装 Solidity 编译器配置开发环境熟悉命令行工具 2.1.2 重点案例&#xff1a;配置本地开发环境案例 Demo&#xff1a;配置本地 Solidity 环境案例代码&#xff1a;HelloWorld.sol 2.1.3 拓展案例 1&#xff1a;设置 Remix …

【MySQL】Navicat/SQLyog连接Ubuntu中的数据库(MySQL)

&#x1f3e1;浩泽学编程&#xff1a;个人主页 &#x1f525; 推荐专栏&#xff1a;《深入浅出SpringBoot》《java对AI的调用开发》 《RabbitMQ》《Spring》《SpringMVC》 &#x1f6f8;学无止境&#xff0c;不骄不躁&#xff0c;知行合一 文章目录 前言一、安装…

Burp常见问题

前言 本文举例了几个常见的软件工具使用问题&#xff0c;文末会提供一些我自己整理和使用的工具资料 。 "在追逐零 Bug 的路上&#xff0c;我们不断学习、改进&#xff0c;更加坚定自己的技术信念。让我们相信&#xff0c;每一个 Bug 都是我们成长的机会。" 一、VM…

2 F. Greetings(离散化+树状数组)

题目链接 F. Greetings 题意 题解 由于两个人的速度是一样的&#xff0c;所以到达终点之前两个人是不会相遇的&#xff0c;考虑一下什么情况两个人会相遇&#xff0c;其中一个人到达终点时&#xff0c;另一个人&#xff0c;终点所在地的前面&#xff0c;并且它的终点在更右边…

模式匹配这么好,Java语法里有吗?

这篇文章我们借助新版Java来理解模式匹配&#xff0c;Rust版的模式匹配稍后就端上来&#xff0c;各位先尝尝Java这杯老咖啡还香不香&#x1f604;。 什么是模式匹配&#xff1f; 下图直观的表达了模式匹配的概念。 所谓模式类似上图中木盒的各种形状的洞洞&#xff0c;我们…

Unable to make field private JavacProcessingEnvironment$DiscoveredPro报错解决办法

maven项目打包报错 报错信息 Unable to make field private com.sun.tools.javac.processing.JavacProcessingEnvironment$DiscoveredProcessors com.sun.tools.javac.processing.JavacProcessingEnvironment.discoveredProcs accessible: module jdk.compiler does not &q…

proxysql

这里是引用 mysql 安装 mysql-3307 mysql -P 3307 -u root -proot -h 10.211.55.8create database db1; CREATE TABLE db1.tab_20240102 (id INT PRIMARY KEY,name VARCHAR(50),email VARCHAR(50),age INT ); CREATE TABLE db1.tab_20240103 (id INT PRIMARY KEY,name V…

2.20总结

根据这周的学习任务在学习KMP算法和哈希算法,这两种算法主要都用于字符串&#xff0c;而且学习起来都有一定的难度&#xff0c;刚开始的时候一个视频要看好几遍才能弄懂&#xff0c;但是经过这两天的学习也有了一定的收KMP 我通过一小段简单的代码来强化我对于KMP算法的理解&a…

postgis sde表在geoserver中服务发布

文章目录 简要说明maven依赖样例代码 简要说明 利用开源工具geoserver-manager&#xff0c;对postgresql的空间表进行地图服务发布 maven依赖 <dependency><groupId>com.github.dov-vlaanderen</groupId><artifactId>geoserver-manager</artifact…

【MySQL】 多表查询与笛卡尔积深入学习

推荐一款AI网站 AI写作与AI绘画智能创作平台 - 海鲸AI | 智能AI助手&#xff0c;可以免费领取GPT3.5无限卡 在数据库操作中&#xff0c;多表查询是一项基础而重要的技能。它允许我们从多个表中检索数据&#xff0c;以便进行复杂的数据分析和报告。本文将深入探讨MySQL中的多表查…

model.train()和model.eval()两种模式的原理

1. model.train() 在使用 pytorch 构建神经网络的时候&#xff0c;训练过程中会在程序上方添加一句model.train()&#xff0c;作用是 启用 batch normalization 和 dropout 。 如果模型中有BN层&#xff08;Batch Normalization&#xff09;和 Dropout &#xff0c;需要在 训练…

3. B. Milena and Admirer(贪心、小结论、思维)

题目链接 B. Milena and Admirer 题意 给一个长度为 n n n的序列&#xff0c;我们通过操作使这个序列变成非递减序列 操作&#xff1a;对 a [ i ] a[i] a[i]&#xff0c;我们将 a [ i ] a[i] a[i]删除&#xff0c;将 a [ i ] − x 、 x a[i]-x、x a[i]−x、x插入原位置&…

Oracle19c | 操作归纳

本篇目录 1. PDB 可插拔数据库1.1 创建 PDB 1. PDB 可插拔数据库 1.1 创建 PDB # oralce 19c 创建 pdb CREATE PLUGGABLE DATABASE pdb_name ADMIN USER username IDENTIFIED BY password; # oralce 19c 启用数据库 ALTER PLUGGABLE DATABASE pdb_name OPEN; # 切换 pdb alte…

【感知算法】Dempster-Shafer理论(下)

尝试DS理论应用到自动驾驶地图众包更新。 地图特征变化判断 a mass function is applied to quantify the evidence of the existence. existence state: existenct、non-existent、tenative、conflict ∃ ∄ Ω ϕ \exist \\ \not\exist \\ \Omega \\ \phi ∃∃Ωϕ ma…

对 babel 的了解,几个 stage 代表的意思

What is Babel? Babel Babel 是一个广泛使用的 JavaScript 编译器&#xff0c;它主要用于将 ECMAScript 2015&#xff08;ES6&#xff09;代码转换为向后兼容的 JavaScript 版本&#xff0c;以便在不同浏览器和环境中运行。Babel 具有强大的插件系统&#xff0c;可以通过插件…

阿里云服务器多少钱?2024年阿里云服务器价格配置表出炉!

2024年阿里云服务器租用价格表更新&#xff0c;云服务器ECS经济型e实例2核2G、3M固定带宽99元一年、ECS u1实例2核4G、5M固定带宽、80G ESSD Entry盘优惠价格199元一年&#xff0c;轻量应用服务器2核2G3M带宽轻量服务器一年61元、2核4G4M带宽轻量服务器一年165元12个月、2核4G服…

docker的底层原理六: 联合文件系统(UnionFS)

Docker的底层存储原理基于联合文件系统&#xff08;UnionFS&#xff09;。 联合文件系统&#xff08;UnionFS&#xff09;是一种特殊的文件系统&#xff0c;它允许独立地叠加多个目录层&#xff0c;呈现给用户的是这些目录层的联合视图。这种结构使得在Docker中&#xff0c;不…

【xlwings】结合pandas做类似vlookup的功能

参考自CSDN 导入模块 import pandas as pd import xlwings as xw创建sheet #创建excel文档wb xw.Book() # 创建一个Excel进程App, 并在App中新建一个Book,Book下自动创建一个Sheetwb.save(文件)##excel表显示设定appxw.App(visibleFalse,add_bookFalse)app.display_alertsF…