【STM32】简介

news2024/10/7 1:06:37
  •  🚩 WRITE IN FRONT 🚩   

  • 🔎 介绍:"謓泽"正在路上朝着"攻城狮"方向"前进四" 🔎
  • 🏅 荣誉:2021|2022年度博客之星物联网与嵌入式开发TOP5|TOP4、2021|2022博客之星TOP100|TOP63、阿里云专家博主、掘金优秀创作者、全网粉丝量6w+、全网访问量100w+ 🏅
  • 🆔 文章内容由 謓泽 原创 如需相关转载请提前告知博主
  • 📝 个人主页:謓泽的博客 📃
  • 📣 专栏系列:STM32-单片机謓泽的博客 📃
  • 🎁 点赞👍+ 收藏⭐️+ 留言📝​
  • ✉️ 我们并非登上我们所选择的舞台,演出并非我们所选择的剧本 📩

💕目录

‼suggest -建议

⒈STM32 - 简介

⒉ARM - 介绍

₂.₁ 内核

₂.₂拓展知识点

⒊STM32F103C8T6 

₃.₁片上资源&外设

₃.₂系统结构

₃.₃命名规则

⒋引脚定义

⒌STM32启动配置

⒍最小系统电路          

‼suggest -建议

🥂博主对于学习STM32的建议如下⇲

⒈博主建议在学STM32之前可以做几个五一的项目并且是要做成功的实物或仿真像博主就做过(智能小车之类的蓝牙控制小车、红外避障、超声波舵机实现避障、学习机等之类的),五一的项目还是很多的,如果不确定的话可以去网上看看,说不定就看到有自己想做的东西了。

【单片机课设/毕设】51单片机智能小车(寻迹、避障、蓝牙)详细教程(基础版)_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV16S4y1C7ad/?spm_id_from=333.337.search-card.all.click&vd_source=37ee726c3aaae0e3f283d28b6fb39ed7只需22个例程 搞定初学入门 项目开发 学电51单片机视频教程 纯手敲教学_哔哩哔哩_bilibili只需22个例程 搞定初学入门 项目开发 学电51单片机视频教程 纯手敲教学共计55条视频,包括:第01集-入门-学习机介绍、第02集-入门-安装开发环境、第03集-入门-如何新建工程等,UP主更多精彩视频,请关注UP账号。https://www.bilibili.com/video/BV1QU4y1t7JA/?spm_id_from=333.337.top_right_bar_window_custom_collection.content.click

⒉学习下STC8或STC15系列的单片机多接触几款学习一下(虽说它也是五一的)但是从功能方面来说它们还是有着很大的差别的,自己可以翻阅相关数据手册看看就知道了,还有包括STC官方出的一些屠龙刀开发板之类都可以接触下。

STC: 32位 8051 单片机创新者, ISP/IAP 技术创新者,中华有为:除了胜利,我们已无路可走 (stcmcudata.com)

⒊C语言一定要过关,尤其是C语言的一些高阶知识点,STM32的C语言编程和STC89C52C语言编程不是一个level[水平]的。你去看STM32提供给的库函数就知道,如果你想去理解它给你的这个函数是怎么去实现的。去学习它们给的库函数是怎么去实现的我认为还是有必要的,这样可以加深你对于代码的理解。

鹏哥C语言的个人空间_哔哩哔哩_bilibili


⒋可以学习下数据结构这个其实对于你搞嵌入式的都是要接触的一些算法,当然如果学过|有这基础就更好了。

数据结构与算法2022版零基础教程数据结构和算法_哔哩哔哩_bilibili

⒌我不是非常赞同直接跳过五一学习STM32的这种。因为基础还是要用的,等到你C51学习的差不多了,你学STM32就会轻松许多的。

51单片机入门教程-2020版 程序全程纯手打 从零开始入门_哔哩哔哩_bilibili

【普中官方】51单片机手把手教学视频(上)_哔哩哔哩_bilibili

【普中官方】51单片机手把手教学视频(下)_哔哩哔哩_bilibili

        说明⇢以上学习STM32的建议仅为博主的个人建议,如有说的不好或者你觉得不好的地方。那不好意思,你可以不采取博主的建议

📅目录  

⒈STM32 - 简介

⒉ARM - 介绍

₂.₁ 内核

₂.₂拓展知识点

⒊STM32F103C8T6 

₃.₁片上资源&外设

₃.₂系统结构

₃.₃命名规则

⒋引脚定义

⒌STM32启动配置

⒍最小系统电路         

⒈STM32 - 简介

STM32是ST公司基于ARM Cortex-M内核开发的32位微控制器。

  • STM32也是一款单片机,32的意思表示这是一款32位的单片机相比与51单片机的8位来说的话。STM32的性能可以说是非常的强悍了👍
  • ARM Cortex-M 是STM32的核心部分是ARM公司设计的。

STM32常应用在嵌入式领域,如智能车、无人机、机器人、无线通信、物联网、工业控制、娱乐电子产品等。

STM32功能强大、性能优异、片上的资源丰富、功耗低,是一款经典的嵌入式微控制器。

上述图中分别对应四种系列如下👇
1.高性能系列
2.主流系列
3.超低功耗系列
4.无线系列

⒉ARM - 介绍

STM32的单片机使用的是ARM Cortex-M的内核

ARM公司是全球领先的半导体知识产权(IP)提供商,全世界超过95%的智能手机和平板电脑都采用ARM架构。

  • 知识产权提供商的意思就是,这个ARM公司只是设计ARM内核而不生产实物的。实际的内核是各大半导体产商连同芯片一起制作出来的。ARM可以授权给各大厂商他的设计,然后对其进行授权费用作为盈利方式。

ARM公司设计ARM内核,半导体厂商完善内核周边电路并生产芯片。

如上图所示当中M系列主要用于单片机的领域,像STM32使用的就是M系列的内核

在这里我大致介绍下"内核"这一词在单片机当中是什么意思?

₂.₁ 内核

单片机内核的作用可以简单的理解成为用于执行存储器中程序员写的代码。它可以按照代码中的每条指令的要求进行处理。

₂.₂拓展知识点

⒈程序存储器ROM的功能⇢ROM的数据在程序运行的时候是不容改变的,除非你再次烧写程序,他就会改变,就像我们的书本,印上去就改不了了,除非再次印刷,这个就是ROM的原理。
⒉程序存储器RAM的功能⇢RAM就是在程序运行中,数据会随时改变的,就像我们的黑板,写上了可以擦,擦完再写上去,相当于程序运行的时候,调用ROM里面的数据进行各种运算。

⒊STM32F103C8T6 

系列:主流系列STM32F1

内核:ARM Cortex-M3

主频:72MHz

RAM:20K(SRAM)
注:实际的存储介质是SRAM

ROM:64K(Flash)
注:实际的存储介质是Flash闪存

供电:2.0~3.6V(标准3.3V)
注:五一是5V供电,还有USB输出的电压也是5V.
如果是5V电压,那么还需要加上一个稳压芯片把电压降到3.3V.

封装:LQFP48

₃.₁片上资源&外设

这个片上资源又被称之为是外设(peripheral)

上述图中非常重要,务必了解清楚一下。学习STM32F1系列就是和这些外设打交道的。

🍎注→C8T6是没有上述途中后面的四个外设的以及在上述图当中前面两个深颜色的是位于Cortex-M3内核里面的外设,剩下的都是内核外的外设。

.₂系统结构

这个芯片的结构还是比较复杂的初学的话大致了解一下即可✔

₃.₃命名规则

⒋引脚定义

        引脚定义是非常重要的,以后再学习STM32的时候我们会经常和这些引脚定义打交道。

        说明⇢在上述图中有一个小黑点代表着一号引脚,然后逆时针依次排列直到48号引脚为止。

        拓展⇢SWDIO和SWCLK是用于调试和编程嵌入式系统的串行线接口。SWDIO是串行线数据输入/输出线,而SWCLK是串行线时钟线。它们通常与SWD(Serial Wire Debug)协议一起使用,用于与微控制器或其他嵌入式设备进行通信和调试。 

引脚颜色标记

  1. 橙色代表的是电源相关的引脚。
  2. 蓝色代表的是最小系统相关的引脚。
  3. 绿色的是IO口、功能口这些引脚。

类型

  • S --> 电源
  • I --> 输入
  • O --> 输出
  • IO --> 输入输出

IO口电平

  • FT的代表能容纳5V的电压。
  • 没有FT的代表只能容纳3.3V电压。

⒌STM32启动配置

说明⇢启动配置的作用就是指定程序开始运行的位置,但是在某些情况下,我们也可以让程序在别的地方开始执行。一般情况下,程序都是在Flash程序存储器下开始执行的。

可以通过配置BOOT0和BOOT1的引脚,来选择三种不同的启动模式。

        第一种模式当BOOT0引脚为0的话也就是接地的意思。这个时候无论BOOT1接什么,启动模式都是主闪存存储器模式。也就是说是正常执行Flash闪存里面的程序。这个模式是最常用的模式,一般情况下都会是这个模式。

📃注→接到1的话就是接到3.3V正电源的意思。

        第二种模式一般我们需要串口下载程序的时候会配置到这个模式上的,在配置程序的时候我们应该小心点不能让全部配置下载的IO口都变成了普通IO口,如果全部都是普通IO口的话这样就会下载不进去程序了。

        第三种模式配置的是内置SRAM启动,这个模式主要是用来进行程序调试的。     

⒍最小系统电路          

STM32的主晶振一般都是8MHZ然后经过内部锁相环倍频得到72MHZ的主频。

如果需要RTC(实时时钟)的功能的话,电路还需要接到32.768MHZ的晶振和上述图一样接法。连接到3、4号引脚,OSC32就是32.768MHZ。

        说明⇢说明在上述图片的稳压芯片可能是AMS1117(lm1117) XC6204、XC6206等。 这些都是常用的稳压芯片。

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

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

相关文章

Exploiting Proximity-Aware Tasks for Embodied Social Navigation 论文阅读

论文信息 题目:Exploiting Proximity-Aware Tasks for Embodied Social Navigation 作者:Enrico Cancelli, Tommaso Campari 来源:arXiv 时间:2023 Abstract 学习如何在封闭且空间受限的室内环境中在人类之间导航&a…

StarGANv2: Diverse Image Synthesis for Multiple Domains论文解读及实现

StarGAN v2: Diverse Image Synthesis for Multiple Domainsp github:https://github.com/clovaai/stargan-v2 0 小结 0.1 模型 4个 模型四个: Generator: G网络 输入图片x,和风格编码s(可以是F网络或者E网络生成的s&#xff…

LeetCode 778. Swim in Rising Water【最小瓶颈路;二分+BFS或DFS;计数排序+并查集;最小生成树】2096

本文属于「征服LeetCode」系列文章之一,这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁,本系列将至少持续到刷完所有无锁题之日为止;由于LeetCode还在不断地创建新题,本系列的终止日期可能是永远。在这一系列刷题文章…

城市最短路

题目描述 下图表示的是从城市A到城市H的交通图。从图中可以看出,从城市A到城市H要经过若干个城市。现要找出一条经过城市最少的一条路线。 输入输出格式 输入格式: 无 输出格式: 倒序输出经过城市最少的一条路线 输入输出样例 输入样例…

【LeetCode75】第二十七题(933)最近的请求次数

目录 题目: 示例: 分析: 代码运行结果: 题目: 示例: 分析: 首先这是LeetCode75里第一道设计类的题目,这种类型的题目会比较新颖,就是按照题目要求来设计一个类。然后…

GIL 锁或将在 CPython 中成为可选项

哈喽大家好,我是咸鱼 几天前有媒体报道称,经过多次辩论,Python 指导委员会打算批准通过 PEP 703 提案,让 GIL(全局解释器)锁在 CPython 中成为一个可选项 PEP 703 提案主要目标是使 GIL 变成可选项&#…

二叉树的讲解

💓博主个人主页:不是笨小孩👀 ⏩专栏分类:数据结构与算法👀 刷题专栏👀 C语言👀 🚚代码仓库:笨小孩的代码库👀 ⏩社区:不是笨小孩👀 🌹欢迎大家三连关注&…

定义行业新标准?谷歌:折叠屏手机可承受20万次折叠

根据Patreon账户上的消息,Android专家Mishaal Rahman透露,谷歌计划推出新的硬件质量标准,以满足可折叠手机市场的需求。Android原始设备制造商(OEM)将需要完成谷歌提供的问卷调查,并提交样品设备进行严格审…

读书笔记 |【项目思维与管理】➾ 顺势而动

读书笔记 |【项目思维与管理】➾ 顺势而动 一、企业步入“终结者时代”二、过去成功的经验也许是最可怕的三、做好非重复性的事四、适应客户是出发点五、向知识型企业转变六、速度是决胜条件 💖The Begin💖点点关注,收藏不迷路💖 …

【C++ 学习 ⑬】- 详解 list 容器

目录 一、list 容器的基本介绍 二、list 容器的成员函数 2.1 - 迭代器 2.2 - 修改操作 三、list 的模拟实现 3.1 - list.h 3.2 - 详解 list 容器的迭代器 3.2 - test.cpp 一、list 容器的基本介绍 list 容器以类模板 list<T>&#xff08;T 为存储元素的类型&…

ruoyi-vue-v3.8.6-搭建

一、准备工作 环境&#xff1a; win10、MySQL8、JDKjdk1.8.0_311 redis6.2.6 IDEA 2022.3.3 maven3.9 Node v18.14.2 npm 9.5.0 版本&#xff1a; 若依框架官方文档&#xff1a;http://doc.ruoyi.vip/ 官网导航&#xff1a;http://120.79.202.7/ 若依项目地址&#xff…

将数组(矩阵)旋转根据指定的旋转角度scipy库的rotate方法

【小白从小学Python、C、Java】 【计算机等考500强证书考研】 【Python-数据分析】 将数组(矩阵)旋转 根据指定的旋转角度 scipy库的rotate方法 关于下列代码说法正确的是&#xff1f; import numpy as np from scipy.ndimage import rotate a np.array([[1,2,3,4], …

腾讯云服务器竞价实例是什么?适用于什么行业?有啥优惠?

腾讯云服务器CVM计费模式分为包年包月、按量计费和竞价实例&#xff0c;什么是竞价实例&#xff1f;竞价实例和按量付费相类似&#xff0c;优势是价格更划算&#xff0c;缺点是云服务器实例有被自动释放风险&#xff0c;腾讯云服务器网来详细说下什么是竞价实例&#xff1f;以及…

八、解析应用程序——分析应用程序(1)

文章目录 一、确定用户输入入口点1.1 URL文件路径1.2 请求参数1.3 HTTP消息头1.4 带外通道 二、确定服务端技术2.1 提取版本信息2.2 HTTP指纹识别2.3 文件拓展名2.4 目录名称2.5 会话令牌2.6 第三方代码组件 小结 枚举尽可能多的应用程序内容只是解析过程的一个方面。分析应用程…

Leetcode35 搜索插入位置

给定一个排序数组和一个目标值&#xff0c;在数组中找到目标值&#xff0c;并返回其索引。如果目标值不存在于数组中&#xff0c;返回它将会被按顺序插入的位置。 请必须使用时间复杂度为 O(log n) 的算法。 解析&#xff1a;以示例2来举例&#xff0c;left 0,right 3,mid 1…

【CSS】CSS 布局——弹性盒子

Flexbox 是一种强大的布局系统&#xff0c;旨在更轻松地使用 CSS 创建复杂的布局。 它特别适用于构建响应式设计和在容器内分配空间&#xff0c;即使项目的大小是未知的或动态的。Flexbox 通常用于将元素排列成一行或一列&#xff0c;并提供一组属性来控制 flex 容器内的项目行…

SpringMVC的异常处理机制

1、简介 系统中异常包括两类&#xff1a;预期异常和运行时异常RuntimeException&#xff0c;前者通过捕获异常从而获取异常信息&#xff0c;后 者主要通过规范代码开发、测试等手段减少运行时异常的发生。 系统的Dao、Service、Controller出现都通过throws Exception向上抛出…

BFS 五香豆腐

题目描述 经过谢老师n次的教导&#xff0c;dfc终于觉悟了——过于腐败是不对的。但是dfc自身却无法改变自己&#xff0c;于是他找到了你&#xff0c;请求你的帮助。 dfc的内心可以看成是5*5个分区组成&#xff0c;每个分区都可以决定的的去向&#xff0c;0表示继续爱好腐败&…

【图像分类】CNN + Transformer 结合系列.4

介绍两篇利用Transformer做图像分类的论文&#xff1a;CoAtNet&#xff08;NeurIPS2021&#xff09;&#xff0c;ConvMixer&#xff08;ICLR2022&#xff09;。CoAtNet结合CNN和Transformer的优点进行改进&#xff0c;ConvMixer则patch的角度来说明划分patch有助于分类。 CoAtN…

多目标优化算法之樽海鞘算法(MSSA)

樽海鞘算法的主要灵感是樽海鞘在海洋中航行和觅食时的群聚行为。相关文献表示&#xff0c;多目标优化之樽海鞘算法的结果表明&#xff0c;该算法可以逼近帕雷托最优解&#xff0c;收敛性和覆盖率高。 通过给SSA算法配备一个食物来源库来解决第一个问题。该存储库维护了到目前为…