stm32入门之keil5的安装以及第一个工程的建立_第一个keil5工程stm32-程序员宅基地

技术标签: stm32  python  java  linux  嵌入式  


前言

要想学习stm32,首先我们就要学会怎么样去安装keil5,以及搭建基本编程环境

一、keil5的下载与安装

1.下载相关链接

keil5软件压缩包百度云盘链接(提取码是1111)
下载后解压就可以进行安装了

2.安装具体过程

按照图片中的箭头所指即可完成安装
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
选择好安装位置
在这里插入图片描述
这里的信息随便填一下就可以了
在这里插入图片描述

在这里插入图片描述
这样就完成了安装,这个时候桌面就会多出一个图标
在这里插入图片描述

二、加载芯片所需要的支持包

1.下载支持包

芯片支持包百度云盘下载(提取码是1111)
把这个文件下载好就行了,要放在一个自己找得到的文件夹里,因为我们等下就需要加载它

2.加载支持包

支持包主要是为了配合stm32使用才添加的,在我们刚装好keil5时,它就提醒我们要安装固件包了
在这里插入图片描述
现在我们打开keil5,然后点击箭头所指的位置
在这里插入图片描述
在这里插入图片描述
然后就进入添加文件界面了,在相关文件夹之中,找到我们刚才下载的支持包
在这里插入图片描述
随后点击打开,待下方进度条到达100%后即完成了导入
在这里插入图片描述
这样的环境就搭建了90%了

三、添加固件库以及创建stm32第一个项目

1.新建第一个工程以及添加main函数

首先点击软件上方的protect然后新建一个工程
在这里插入图片描述
这里自己给工程起一个名字
在这里插入图片描述
然后选择自己的stm32相关型号
在这里插入图片描述
关闭这个窗口,新工程就创建完成了
在这里插入图片描述

在这里插入图片描述
此时我们要向编写程序,需要自己创建一个main函数,在工程目录下创建即可然后双击箭头所指的位置,将main.c文件添加进来就可以了
在这里插入图片描述
在这里插入图片描述
这样工程里就有main文件了
在这里插入图片描述

2.添加startup文件

startup库文件百度云盘链接(提取码为1111)
先将这个文件下载好,这是一个汇编问价,大家要根据自己的型号来添加相关的文件
把它放在工程目录之下
在这里插入图片描述

然后用同样的方式把它加载进来,双击箭头所指
在这里插入图片描述
在这里插入图片描述
选中所指文件,就可以添加进来了
在这里插入图片描述
这样startup文件就添加完毕了

3.编写第一个程序

我们写一个最简单的c程序,因为很多库还没添加,所以我们就不添加头文件了
在这里插入图片描述
如果直接编译,将会报错
在这里插入图片描述
查看错误的原因,是System函数没有定义导致的
添加之后再次编译
在这里插入图片描述
这一次没有错误,却出现警告
在这里插入图片描述
这是由于keil5这个软件导致的,必须在最后多加一行空着,才会消除这个警告
在这里插入图片描述

在这里插入图片描述
添加之后警告果然消除

4.怎么烧写代码进开发板

首先我们看一下一些烧写设置,并勾选一些东西
在这里插入图片描述
再选择烧写工具
在这里插入图片描述
确认自己的板子连接完毕后,即可点击下图箭头所指的位置进行烧写
在这里插入图片描述
这样就完成了烧录

总结

keil5是一个非常好用的软件,对于初学stm32的人来说,它是非常重要的。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_48264057/article/details/110734596

智能推荐

odoo上传文件附件_odoo form发送附件-程序员宅基地

文章浏览阅读3.4k次。在应用中搜索‘Attachments List and Document Indexation’,安装后在form视图中就出现了附件按钮_odoo form发送附件

MATLAB r2021b环境下的基于非下采样小波包分析的轴承故障诊断-程序员宅基地

文章浏览阅读235次,点赞5次,收藏3次。代码运行环境为MATLAB r2021b,非下采样小波包变换执行信号的等带宽精细滤波,而不是离散小波变换中的较粗糙的倍频程滤,而且很好的缓解了小波包变换中的时间分辨率损失,这使得非下采样小波包在许多应用中比小波包或离散小波变换表现的更好。从结果中可以看出,NSWT在保留信号细节的同时,具有更好的频率分辨率,能够更清晰地显示信号的频谱特性。以150 和 200 Hz 的两个间歇正弦波为例,看一下非下采样小波包的时频谱图和离散小波变换的时频谱图,效果显而易见。哥廷根数学学派2023。

IDEA 报Error java:找不到符号 符号: 变量 log 位置_java: 找不到符号 符号: 变量 log-程序员宅基地

文章浏览阅读5.1k次,点赞8次,收藏2次。在网上看了很多种解决办法,如下:在pom文件中添加lombok的依赖。在IDEA中安装lombok的插件:在IDEA中点击 File -> Settings -> Plugins,输入Lombok,选择Lombok的Installed进行安装。在IDEA中勾选Enable Annotation Processors:File -> Settings -> Build, Execution, Deployment -> Compiler -> Annotation._java: 找不到符号 符号: 变量 log

世界围棋人机大战、顶峰对决第二战:围棋世界冠军Lee Sedol(李世石,围棋职业九段)对战Google DeepMind AlphaGo围棋程序,AlphaGo再次胜出!...-程序员宅基地

文章浏览阅读189次。感觉在哔哩哔哩(bilibili)上看比赛直播比较好,一直可以看到比赛的直播画面,还能听到英文解说和中文主持人的解说。YouTube上是不错,但是一方面爬梯子比较卡,另一方面只能听到英文解说。韩国著名围棋九段棋手李世石与谷歌人工智能“阿尔法围棋”(AlphaGo)的5盘对决,将于3月9日、10日、12日、13日和15日在首尔举行。比赛将采用贴7.5目的中国规则(比赛结束时,先走棋的棋手贴..._围棋游戏九段

MQTT协议简介及消息总线EMQX与客户端Paho快速上手_paho mqtt-程序员宅基地

文章浏览阅读5k次。1. MQTT简介MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是基于“订阅/发布”模式的轻量级通信协议,该协议基于TCP/IP,能以极低的带宽为海量(百万级)跨域设备提供可靠的消息服务,因此在物联网、小型移动终端、边缘计算方面有广泛应用。所谓可靠的消息传输,体现为可配置消息的服务质量(QoS),有三种服务质量可选:至多一次:消息发布完全依赖底层TCP/IP网络。会发生消息丢失或重复。应用场景如环境传感器的数据采集,丢失一次记录无所谓,因_paho mqtt

vivado TCL 脚本使用——loogarch指令集 实验exp6_tcl learch-程序员宅基地

文章浏览阅读203次。然后打开Tools——Run Tcl script,执行create_project.tcl文件,静待完成。首先从Window-tcl console 调出终端。也就是run_vivado 目录。然后执行进入指定目录。_tcl learch

随便推点

Java并发编程实战之互斥锁_java互斥锁也有必要学吗-程序员宅基地

文章浏览阅读2k次,点赞3次,收藏15次。一谈到互斥,我们很自然就会想到了锁。首先我们把一段需要互斥执行的代码称为临界区。线程在进入临界区之前,首先尝试加锁 `lock()`,如果成功,则进入临界区,此时我们称这个线程持有锁;否则呢就等待,直到持有锁的线程解锁;持有锁的线程执行完临界区的代码后,执行解锁 `unlock()`。_java互斥锁也有必要学吗

【2023地理设计组一等奖】多模态地理空间数据支持下的城市洪涝灾害韧性评价_韧性基线模型(bric)中的韧性维度的是()。-程序员宅基地

文章浏览阅读125次。表5计算了各因子的权重系数,根据结果,我们可以看出,兴趣点密度和人口密度是洪灾恢复过程中最显著的影响因子,权重系数普遍高于0.125,同样GDP因子作为影响城市发展的极其重要的因子,在洪灾恢复方面上也具有较高的影响力。通常情况下,洪灾恢复率(FRR)的计算是基于洪水灾害造成的损失值和洪水后恢复的指标值。(2)在洪水信息提取方面,本作品采用了U-Net语义分割网络,通过训练大量样本,学习Sentinel-1遥感影像中的洪水特征,从而能够实现高效与高精度的识别与提取,为后续的研究与分析提供可靠的数据基础。_韧性基线模型(bric)中的韧性维度的是()。

数论——无关(relationship)(容斥原理)_设 k 是正整数,集合 a 至少有两个元素,且 acn *.如果对于 a 中的任意两个不同-程序员宅基地

文章浏览阅读234次。题目链接数论——无关(relationship)(容斥原理)题目描述若一个集合 A 内所有的元素都不是正整数 N 的因数,则称 N 与集合 A 无关。给出一个含有 k 个元素的集合 A = {a1,a2,a3,…,ak},求区间 [L,R] 内与 A 无关的正整数的个数。保证 A 内的元素都是素数。输入描述输入数据共两行:第一行三个正整数 L,R,k,意义如“题目描述”。第二行k个正整数,描述集合 A,保证 k 个正整数两两不相同。输出描述输出数据共一行:第一行一个正整数表示区间 [_设 k 是正整数,集合 a 至少有两个元素,且 acn *.如果对于 a 中的任意两个不同

Go 语言通过 SSH 远程登录服务器执行命令和传输文件_go sshclient.newsession-程序员宅基地

文章浏览阅读792次。Go 语言通过 SSH 远程登录服务器执行命令和传输文件_go sshclient.newsession

NRF52832学习笔记(11)——蓝牙MAC地址_52832的app从哪个地址开始的-程序员宅基地

文章浏览阅读2.9k次,点赞5次,收藏17次。一、背景一个 BLE 设备,可以使用两种类型的地址(一个 BLE 设备可同时具备两种地址):Public Device Address(公共设备地址)Random Device Address(随机设备地址)可分为两类:Static Device Address(静态设备地址)Private Device Address(私密设备地址)又可分为两类:Non-resolvable Private Address(不可解析私密地址)Resolvable Private Address(可解析_52832的app从哪个地址开始的

JAVA实现简单的登录界面_登录页面java-程序员宅基地

文章浏览阅读10w+次,点赞224次,收藏1.3k次。我本来是学C++的,然后课程上老师要求做一个登陆界面,用C++实现不限时,然后就选择了JAVA,从零开始自学JAVA。好在网上很多大佬都写了如何用JAVA编写登陆界面的博客,写得很详细,使得我第一次接触JAVA也能看懂一二。比较推荐这篇,博主真的很细心,我主要也是参考的这篇文章(分为一、二两篇):https://blog.csdn.net/Alexwym/article/details/8..._登录页面java