万物互联-stm32单片机简介、烧录、编程及其项目环境搭建

2023-05-16

万物互联-stm32单片机简介、烧录、编程

前言:stm32单片机这里给出简单介绍,给不了解的朋友普及下硬件端的基本知识,叙述的较为简单,想深入研究的朋友可以去一些官方网站、论坛、博客汲取知识。最下端会给出几个推荐的学习网址。

1、stm32单片机简介

1.1、STM32单片机系列简介

​ STM32单片机系列专为要求高性能、低成本、低功耗的嵌入式应用设计的ARM Cortex®-M0,M0+,M3, M4和M7内核按内核架构分为不同产品:

主流产品(STM32F0、STM32F1、STM32F3)、超低功耗产品(STM32L0、STM32L1、STM32L4、STM32L4+)、高性能产品(STM32F2、STM32F4、STM32F7、STM32H7)

基本型:STM32F101R6、STM32F101C8、STM32F101R8、STM32F101V8、STM32F101RB、STM32F101VB

增强型:STM32F103C8、STM32F103R8、STM32F103V8、STM32F103RB、STM32F103VB、 STM32F103VE、STM32F103ZE

STM32型号的说明:以STM32F103RBT6这个型号的芯片为例,该型号的组成为7个部分,其命名规则如下:

序号标识意义
1STM32STM32代表ARM Cortex-M内核的32位微控制器。
2FF代表芯片子系列。
3103103代表增强型系列。
4RR这一项代表引脚数,其中T代表36脚,C代表48脚,R代表64脚,V代表100脚,Z代表144脚,I代表176脚。
5BB这一项代表内嵌Flash容量,其中6代表32K字节Flash,8代表64K字节Flash,B代表128K字节Flash,C代表256K字节Flash,D代表384K字节Flash,E代表512K字节Flash,G代表1M字节Flash。
6TT这一项代表封装,其中H代表BGA封装,T代表LQFP封装,U代表VFQFPN封装。
766这一项代表工作温度范围,其中6代表-40——85℃,7代表-40——105℃。

1.2、stm32f0103介绍

我这里主要对STM32F1系列中的stm32f103进行简单介绍,也为智慧农业小产品做个铺垫,智慧农业小产品源代码下方给出。这里给出stm32f103单片机的图片如下图所示:
在这里插入图片描述

stm32f103单片机也有很多种类,这里是我用的那种,如果你用的跟我的不一样,也不必感到疑惑,这是正常的,但是它的功能都差不多一样,就可能一些引脚的数量上不一样或者其它的一些端口配置有些区别等等。

2、stm32f103单片机烧录程序

单片机要向执行指定的功能肯定是需要编写程序的,然后通过烧录软件进行烧录,那么如何烧录程序呢?

2.1这里给出两种烧录程序的方式。

1、通过与单片机直接相连的USB转接线进行烧录,通常情况下一端通过USB连接电脑,另一端通过与单片机的输入端直接相连,只适用于同样类型的单片机进行传输。以前用过,但是找不到图片了,这里就简单带过,了解一下有这种方法就行了,现在用的是第二种方法,也是主要介绍的。

2、通过下载器连接stm32单片机,将串口转换为端口。下面给出图片:
在这里插入图片描述

这里连接时根据自己的需求对连接的串口进行更改,单片机的引脚与ST-LINK V2的引脚一般都不是一一对应的。

2.2下面给出烧录程序的具体步骤:

1、将ST-LINK V2将stm32f103单片机进行连接,就如下图所示
在这里插入图片描述

这里只看ST-LINK V2与stm32f103单片机就行,这是我自己做的那个智慧农业小产品的硬件原型。

2、连接好之后,再将ST-LINK V2与电脑的USB接口相连。

3、然后要安装STMicroelectronics驱动,如果已经安装了,则可以直接用,在此电脑->属性->设备管理器->通用串行总线设备里就可以看到STM32 STlink,这时已经可用。如下图所示
在这里插入图片描述

4、然后此时要下载STM32 ST-LINK Utility烧录软件,下载后解压就可使用,无需安装。打开的软件界面如下图所示:

在这里插入图片描述

此时还未连接单片机。

5、点击Target,点击下拉菜单中的connect连接单片机(此时下载器已经连接电脑如步骤2)。

在这里插入图片描述

6、点击program verify白色的小图标,然后选择项目目录下的OBJ文件夹,选中OBJ目录下的.hex文件。

在这里插入图片描述

在这里插入图片描述

7、导入成功后,点击start开始烧录,然后显示Verification… ok说明验证成功,程序已经成功烧录进去。

在这里插入图片描述

在这里插入图片描述

3、stm32单片机开发环境搭建

3.1、stm32单片机软件编程环境搭建

​ 一个好的单片机编程环境无非就需要一个好的单片机编程开发工具。这样大家在进行单片机编程以及硬件开发的时候才会更加的得心应手。

​ stm32单片机编程的话一般常用的软件有很多,建议大家用keil mdk,原因是功能强大并且很好用,相比于keil更强大。当然还有其它的一些编程软件也挺好用的,诸如TrueStudio、IAR等等。

下面给出keil mdk的编程界面,外加一些基本常识标注,小白可以看看。
在这里插入图片描述

置于具体实现什么功能的编程之类的我就不在这里讲解了,毕竟我本身学的还不够精,还没本事讲解太深的东西。

3.2开发环境的搭建

在建立工程模板时,要新建几个文件夹,其中文件夹的名称和含义是:(这里指野火模板)
1.USER 用来存放工程文件和用户代码,包括主函数main.c,和用户自己写的一些.c文件
2.FWlib 用来存放 STM32 库里面的 inc 和 src 这两个文件,这两个文件包含了芯片上的所有驱动。
3.CMSIS 用来存放库为我们自带的启动文件和一些 M3系列通用的文件。这里就包含了Core文件中的内容,即核内外设访问层。
4.Uotput 用来保存软件编译后输出的文件。
5.Listing 用来存放一些编译过程中产生的文件。

当然命名的时候不一定都按这样命名,有时某些用不到或者细化了就另外命名,这样只是更加明确存储文件的作用,也方便查找修改,调用的时候也是直接用调文件进行调用就行了。这里就不进行详细的演示了。

写到最后,这里给出一些学习资源网站:

电子工程网_电子工程师获取电子设计应用技术的专业网站
电子电路网–电子工程师分享、查询、下载电子电路、电路设计资料以及系统设计方案
51CTO.COM - 技术成就梦想
电子电路图,电子技术资料网站
EEWORLD论坛-中国最好的电子工程师论坛,电子系统设计师论坛
OpenEdv-开源电子网
单片机论坛

这里给出我的智慧农业小产品的源码链接地址:
https://download.csdn.net/download/EngineerofAI/12652208
以及智慧农业IOT-onenet平台简单介绍的链接地址https://blog.csdn.net/EngineerofAI/article/details/107527489
如果觉得还可以的话又恰逢今天心情好的话,可以请博主喝杯奶茶吗?
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

万物互联-stm32单片机简介、烧录、编程及其项目环境搭建 的相关文章

  • codeforces1169C 二分答案+思维

    1169C 1700的题 xff0c 然而比赛的时候没有做出来 题意 xff1a 给你一个n表示序列长度为n xff0c 还有一个m表示这个序列的最大值小于m 然后对这个数组进行多次操作 xff0c 一次操作为 对ai xff0c aj x
  • python用pip装第三方库numpy时报错:UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 7: ordi

    python用pip装第三方库numpy时一直报错 xff1a UnicodeDecodeError 39 ascii 39 codec can 39 t decode byte 0xc3 in position 7 ordinal not
  • debian8 jessie 更换为国内源

    编辑 etc apt sources list文件 xff1a 用 注释掉老的源 添加新的源 xff0c deb http mirrors 163 com debian jessie main non free contrib deb ht
  • 09、Flutter FFI Dart Native API

    Flutter FFI 学习笔记系列 Flutter FFI 最简示例 Flutter FFI 基础数据类型 Flutter FFI 函数 Flutter FFI 字符串 Flutter FFI 结构体 Flutter FFI 类 Flut
  • Copilot 自动编程AI工具

    OpenAI与GitHub联合构建的AI自动编程工具Copilot xff0c Copilot基于自然语言处理模型GPT 3搭建而成 xff0c Copilot预览版已经正式上线Visual Studio Code平台 OpenAI的GPT
  • SQLite的SQL语法

    SQLite库可以解析大部分标准SQL语言 但它也省去了一些特性 并且加入了一些自己的新特性 这篇文档就是试图描述那些SQLite支持 不支持的SQL语法的 查看关键字列表 如下语法表格中 xff0c 纯文本用蓝色粗体显示 非终极符号为斜体
  • 动态链接库dll(Windows/C++)

    1 概念 xff08 1 xff09 动态链接库广泛用于Windows系统及应用程序 xff0c 不能单独被执行 xff0c 在应用程序运行期间被动态调用的模块文件 区别于静态链接库 xff0c 均属于独立的代码编译模块 xff0c 但静态
  • 【Java】反射时获取父类属性并赋值

    1 反射获取父类 在反射获取类里的所有属性的时候 xff0c 会遇到无法访问父类extends里面的值 这时候需要访问父类需要调用Class的方法getSuperclass 对父类进行遍历field 同时如果不想遍历到Object或者某个类
  • linux软件包安装命令——apt-get

    apt get是linux中APT软件包的管理工具 采用shell命令行的方式完成软件的安装 更新 卸载等操作 1 语法 apt get xff08 选项 xff09 xff08 参数 xff09 选项 xff1a c 指定配置文件 o 直
  • 浅谈路由器的wan、lan、wlan口和vlan/trunk口

    背景 另一篇博文分析了一个实际的路由问题 xff0c 为方便问题分析 xff0c 在此列出常用概念 vlan中的trunk口 VLAN Trunk以及三层交换 可以把switch某一端口设为trunk 端口 问题 IP地址分类 xff1a
  • bzoj4864 [BeiJing 2017 Wc]神秘物质

    http www elijahqi win 2018 01 26 bzoj4864 beijing 2017 wc E7 A5 9E E7 A7 98 E7 89 A9 E8 B4 A8 20 E2 80 8E Description 21
  • mysql8设置远程连接详细教程

    这是转载StackOverFlow上的回答 xff0c 原回答点此这里 Remote Access in MySQL 8 Allow access from any host sudo nano etc mysql mysql conf d
  • 倒水问题(bfs)

    题意概述 34 fill A 34 表示倒满A杯 xff0c 34 empty A 34 表示倒空A杯 xff0c 34 pour A B 34 表示把A的水倒到B杯并且把B杯倒满或A倒空 Input 输入包含多组数据 每组数据输入 A B
  • A-化学

    题目概述 假设如上图 xff0c 这个烷烃基有6个原子和5个化学键 xff0c 6个原子分别标号1 6 xff0c 然后用一对数字 a b 表示原子a和原子b间有一个化学键 这样通过5行a b可以描述一个烷烃基 你的任务是甄别烷烃基的类别
  • B-评测系统

    题目概述 例如某次考试一共八道题 xff08 A B C D E F G H xff09 xff0c 每个人做的题都在对应的题号下有个数量标记 xff0c 负数表示该学生在该题上有过的错误提交次数但到现在还没有AC xff0c 正数表示AC
  • week4_C TT的神秘礼物

    题目描述 TT 是一位重度爱猫人士 xff0c 每日沉溺于 B 站上的猫咪频道 有一天 xff0c TT 的好友 ZJM 决定交给 TT 一个难题 xff0c 如果 TT 能够解决这个难题 xff0c ZJM 就会买一只可爱猫咪送给 TT
  • week8_C 班长竞选(Kosaraju算法 SCC缩点)

    题目描述 大学班级选班长 xff0c N 个同学均可以发表意见 若意见为 A B 则表示 A 认为 B 合适 xff0c 意见具有传递性 xff0c 即 A 认为 B 合适 xff0c B 认为 C 合适 xff0c 则 A 也认为 C 合
  • week15实验 D_瑞瑞爱上字符串/F_东东:“来不及解释了,快上车!!”

    D 瑞瑞爱上字符串 题目 瑞瑞最近迷上了字符串 xff0c 因此决定出一个字符串的题 给定两个正整数 N K xff0c 考虑所有由 N 2 个 a 和 2 个 b 组成的字符串 xff0c 要求输出其中字典序第 K 小的 例如当 N 61
  • CSP-M4补题 A_TT数鸭子

    题目 这一天 xff0c TT因为疫情在家憋得难受 xff0c 在云吸猫一小时后 xff0c TT决定去附近自家的山头游玩 TT来到一个小湖边 xff0c 看到了许多在湖边嬉戏的鸭子 xff0c TT顿生羡慕 此时他发现每一只鸭子都不 一样
  • 第二道月模csp201604-3 路径解析

    题目 在操作系统中 xff0c 数据通常以文件的形式存储在文件系统中 文件系统一般采用层次化的组织形式 xff0c 由目录 xff08 或者文件夹 xff09 和文件构成 xff0c 形成一棵树的形状 文件有内容 xff0c 用于存储数据

随机推荐

  • 第三道月模csp201609-3炉石传说

    题目 炉石传说 xff1a 魔兽英雄传 xff08 Hearthstone Heroes of Warcraft xff0c 简称炉石传说 xff09 是暴雪娱乐开发的一款集换式卡牌游戏 xff08 如下图所示 xff09 游戏在一个战斗棋
  • 第四道月模csp201809-3 元素选择器

    题目背景 题目描述 输入输出 Input Output Sample Input Sample Output 数据规模和约定 思路分析 根据题意 xff0c 创建element结构体 xff0c 新建element类型数组e xff0c 用
  • Debian设置合上笔记本盖子不休眠

    序言正文 序言 在使用的debian的时候 xff0c 发现在哪都找不到设置合上笔记本盖子不做任何事情的选项 xff0c 不像Ubuntu可以在电源里设置 在这里介绍编辑Login Manager 的配置文件 xff08 logind co
  • 学生认证免费领取——使用阿里云服务器的Ubuntu版本,并进行图形化

    一 前言 我们学习和工作中经常需要使用Linux系统来跑程序 我们可以使用虚拟机装一个Ubuntu镜像 当然我们为了方便也可以使用阿里云的服务器 二 获取服务器 1 到阿里云官网 没有账号的同学注册一个就OK 2 搜索框搜索 学生优惠 3
  • Python Pyside/Pyqt 禁止拉伸窗体

    可能是搜索姿势不正确 xff0c 搜了半天没搜到正确答案 随手做个笔记 值可以写死 xff0c 但是一改UI又要重新改这 xff0c 太麻烦 xff0c 索性 加载UI文件时 def init self 对ui文件进行加载 self ui
  • Win10 编译运行Fortran77程序,开发环境搭建

    有个朋友说我讲的blas中的fortran语法有个地方不正确 xff0c 非说他自己的理解是对的 怎么肯能 xff0c f77都看了十几年了 拿出证据来才行 xff0c 朋友却说自己不知道怎么编译f77程序 好吧 xff0c 那还这么自信呀
  • C++ time(0)函数

    time 0 函数返回当前格林尼治标准时间与格林尼治标准时间1970年0分0秒的时间间隔 头文件 include lt ctime gt 问题 xff1a 得到当前时间 include lt iostream gt include lt c
  • 位运算左移、右移、按位取反

    目录 一 异或习题补充 1 260 只出现一次的数字 III 力扣 xff08 LeetCode xff09 二 位运算左移 1 概念 1 xff09 二进制形态 2 xff09 执行结果 3 xff09 负数左移的执行结果 4 xff09
  • 远程客户端无法连接到ubuntu

    检查SSH是否安装 xff1a ssh localhost 通过APT的安装命令非常方便 xff1a sudo apt install openssh server
  • 使用python读写内存–植物大战僵尸为例 pymem和tkinter

    使用python读写内存 植物大战僵尸为例 pymem和tkinter 废话不多 xff0c 直接上源代码 span class token keyword import span tkinter span class token keyw
  • Paramiko: Python使用paramiko连接主机报错“Authentication timeout”

    问题描述 xff1a 在用Python Paramiko库去连接主机时 始终无法连接 xff0c exception输出错误仅有 Authentication timeout connection 61 paramiko SSHClient
  • 流感传染

    题目描述 有一批易感人群住在网格状的宿舍区内 xff0c 宿舍区为n n的矩阵 xff0c 每个格点为一个房间 xff0c 房间里可能住人 xff0c 也可能空着 在第一天 xff0c 有些房间里的人得了流感 xff0c 以后每天 xff0
  • 获取B站某用户更多的关注数和粉丝数

    获取B站某用户更多的关注数和粉丝数 相关记录 一 前言 B 站最多只能翻 5 页用户的关注数和粉丝数 xff0c 如何能够看到更多呢 方法我也是从网上翻来的 xff0c 记载博客里 xff0c 算是我研究过这个话题了 二 需要的东西 关注数
  • HDU 1692 Destroy the Well of Life-卡时间-(枚举+剪枝)

    题意 xff1a 有n口井 xff0c 编号为1到n xff0c 打破第i口井需要p i 的能量 xff0c 但是只要井被打破里面的水会流到下一口井 xff0c 只要一口井的井水w i 多余一个上限l i 会自动打破 xff0c 求打破第n
  • 一.前言——人类是不是机器人

    一 前言 人类是不是机器人 随着时代的进步 xff0c 人工智能诞生了 又随着人工智能的进步 xff0c ChatGPT诞生了 xff0c 这不仅让我想出一个问题 xff1a 我们人类是不是机器人 xff1f ChatGPT xff0c 发
  • CCF期末预测之最佳阈值

    题目背景 考虑到安全指数是一个较大范围内的整数 小菜很可能搞不清楚自己是否真的安全 xff0c 顿顿决定设置一个阈 xff0c 以便将安全指数 y转化为一个具体的预测结果 会挂科 或 不会挂科 因为安全指数越高表明小菜同学挂科的可能性越低
  • (IOS系列)——TextFile属性设置

    初始化textfield并设置位置及大小 UITextField text 61 UITextField alloc initWithFrame CGRectMake 20 20 130 30 设置边框样式 xff0c 只有设置了才会显示边
  • windows10系统自带linux子系统(WSL)的安装目录

    如题 xff0c 最近一直想能不能不用VM virtualbox Hyper V等以虚拟机方式在windows10系统中安装linux xff0c 以便打造openwrt编译环境 在网上摸索了许久 xff0c 终于找到了一种方法 xff0c
  • 智慧农业IOT-onenet平台简单介绍

    智慧农业IOT onenet平台简单介绍 1 onenet平台简介 1 1 onenet简介 OneNET是由中国移动打造的PaaS物联网开放平台 平台能够帮助开发者轻松实现设备接入与设备连接 xff0c 快速完成产品开发部署 xff0c
  • 万物互联-stm32单片机简介、烧录、编程及其项目环境搭建

    万物互联 stm32单片机简介 烧录 编程 前言 xff1a stm32单片机这里给出简单介绍 xff0c 给不了解的朋友普及下硬件端的基本知识 xff0c 叙述的较为简单 xff0c 想深入研究的朋友可以去一些官方网站 论坛 博客汲取知识