当前位置: 首页 > news >正文

32单片机入门持续更新中

配套资料为野火霸道V2

初识 STM32

4.1 什么是 STM32 STM32,从字面上来理解,ST 是意法半导体,M 是 Microelectronics 的缩写,32 表示 32 位,合起 来理解,STM32 就是指 ST 公司开发的 32 位微控制器。在如今的 32 位控制器当中,STM32 可以 说是最璀璨的新星,它受宠若娇,大受工程师和市场的青睐,无芯能出其右。 

4.1.1 STM32 诞生的背景 51 是嵌入式学习中一款入门级的精典 MCU,因其结构简单,易于教学,且可以通过串口编程而 不需要额外的仿真器,所以在教学时被大量采用,至今很多大学在嵌入式教学中用的还是 51。51 诞生于 70 年代,属于传统的 8 位单片机,如今,久经岁月的洗礼,既有其辉煌又有其不足。现 在的市场产品竞争越来越激烈,对成本极其敏感,相应地对 MCU 的性能要求也更苛刻:更多功 能,更低功耗,易用界面和多任务。面对这些要求,51 现有的资源就显得得抓襟见肘。所以无论 是高校教学还是市场需求,都急需一款新的 MCU 来为这个领域注入新的活力。 基于这样的市场需求,ARM 公司推出了其全新的基于 ARMv7 架构的 32 位 Cortex-M3 微控制器 内核。紧随其后,ST(意法半导体)公司就推出了基于 Cortex-M3 内核的 MCU——STM32。STM32 凭借其产品线的多样化、极高的性价比、简单易用的库开发方式,迅速在众多 Cortex-M3 MCU 中 脱颖而出,成为最闪亮的一颗新星。STM32 一上市就迅速占领了中低端 MCU 市场,受到了市场 和工程师的无比青睐,颇有星火燎原之势。 作为一名合格的嵌入式工程师,面对新出现的技术,我们不是充耳不闻,而是要尽快吻合市场的 需要,跟上技术的潮流。如今 STM32 的出现就是一种趋势,一种潮流,我们要做的就是搭上这 趟快车,让自己的技术更有竞争力。

MCU是Microcontroller Unit的缩写,中文翻译为微控制器。它是一种集成了处理器核心、存储器和各种输入输出接口的集成电路芯片,用于控制电子设备的运行。单片机是MCU的一种,指的是在一个芯片上集成了微处理器、存储器和各种接口电路的集成电路。因此,可以说MCU是单片机的一种。
 

4.2 STM32 能做什么 

STM32 属于一个微控制器,自带了各种常用通信接口,比如 USART、I2C、SPI 等,可接非常多 的传感器,可以控制很多的设备。现实生活中,我们接触到的很多电器产品都有 STM32 的身影, 比如智能手环,微型四轴飞行器,平衡车、移动 POST 机,智能电饭锅,3D 打印机等等。下面我 们以最近最为火爆的两个产品来讲解下,一个是手环,一个是飞行器。

4.2.1 智能手环

图 4‑1 三星 GearFit 智能手环 红圈:STM32F439ZIY6S 处理器(我们简称之为 439),2048KB FLASH ,256KB RAM ,WLCSP143 封装。 橙圈:Macronix MX69V28F64 16 MB 闪存,基于 MCP 封装的存储器,是一种包含了 NOR 和 SRAM 的闪存,这在手环手机这种移动设备中经常使用,优点是体积小,可以减小 PCB 的尺寸。这个 闪存用的 439 的 FSMC 接口驱动。 黄圈:InvenSense MPU-6500 陀螺仪/加速度计,用 439 的 I2C 接口驱动。 绿圈:博通 BCM4334WKUBG 芯片,支持 802.11n,蓝牙 4.0+HS 以及 FM 接收芯片,用 439 的 SDIO 或者 SPI 接口驱动。 显示:1.84”可弯曲屏幕 (Super AMOLED),432 x 128 像素。触摸部分用 439 的 I2C 接口驱动,OLED 显示部分用 LTDC 接口驱动。 表格 4‑1 三星 Gear Fit 和野火 STM32f103“指南者”资源对比

闪存是一种非易失性存储器,它可以实现数据的快速读写操作。闪存通常用于存储程序代码、操作系统、固件以及其他数据。闪存具有快速的读取速度和低功耗的特点,适合用于存储需要频繁读取和写入的数据。常见的闪存类型包括NAND闪存和NOR闪存,它们在存储结构和使用场景上有所不同。闪存广泛应用于各种电子设备中,如手机、平板电脑、相机、固态硬盘等。
 

资源三星 Gear Fit指南者
CPUSTM32F439ZIY6S,WLCSP143 封装STM32F103VET6,LQPF100 封装
存储NOR+SRAM 16MB,FSMC 接口串行 FLASH 16MB ,SPI 接口
显示1.84 寸的 AMOLED,RGB 接口,LTDC 驱动3.2 寸电阻屏,FSMC 接口
陀螺仪MPU6050,I2C 接口可外接 MPU6050 模块,I2C 接口
无线通信蓝牙: 博通 BCM4334,SDIO 或者 SPI 接口WIFI:ESP8266,UART 接口

除了这几个重要资源的对比,我们的指南者开发板上还板载了 EEPROM,USB 转串口,蜂鸣器, LED,普通按键,电容按键等外设资源,还可以扩展 VS1053 MP3 模块,W5500 以太网模块,利 用这些可以充分的学习 STM32F103VET6 这个芯片。在板子上面,还可以跑系统 ucosiii,学习图 形界面 emwin。如果功夫所至,学完之后,自己都可以做一个类似 Gear Fit 这样的手环。可很多 人又会说,Gear Fit 涉及硬件和软件,整个系统这么复杂,并不是一个人可以完成的。说的没错, 我们可以做不了,但是我们的能力可以无限接近,多学点,技多不压身嘛。

相关文章:

32单片机入门持续更新中

配套资料为野火霸道V2 初识 STM32 4.1 什么是 STM32 STM32,从字面上来理解,ST 是意法半导体,M 是 Microelectronics 的缩写,32 表示 32 位,合起 来理解,STM32 就是指 ST 公司开发的 32 位微控制器。在如今…...

蓝桥杯 每天2题 day6

碎碎念:哇咔咔 要不是中间缺勤一天就圆满day7了!最后一晚上!写题复习哇咔咔 唉,睡了一觉就看不下去了,,,看看之前的笔记洗洗睡觉,,, 记得打印准考证带好东西…...

Fast-lio2运行时如何显示轨迹线

修改对应设备的.yaml文件,以velodyne为例: 将 path_en参数改为true即可,运行其他设备,修改对应的参数...

2022年全国青少年信息素养大赛Python国赛第1-10题,含解析答案

01-分苹果 把一堆苹果分给n个小朋友,每个人拿到的苹果数量不同,并且每个人至少有一个。任意输入小朋友的数量n,问这堆苹果至少应该有多少个。输入描述:任意输入小朋友的数量n输出描述:输出这堆苹果至少应该有多少个 样例输入: 3 样例输出: 6 注意: input()内不添…...

python学习笔记——文件操作

1. 文件操作**** 1.1. open()函数**** 参数: 1. File:需要打开的文件 2. Mode:读、写、读写 (1) r:只读 (2) w:只写文件(覆盖) (3) a:只写文件(追加) …...

滑动窗口用法

文章目录 1. 长度最小的子数组(模板)2. 无重复字符的最长字串3. 最小覆盖字串4. 加油站5. 替换字串得到平衡字符串 1. 长度最小的子数组(模板) 题目分析 直接用步骤分析示例1,[]表示窗口,min_length表示满…...

智慧港口整体解决方案(一)

前言 智慧港口建设对创新驱动、转型发展具有重要推动作用加快推动第五代港口发展进程,成为当今港口转变发展方式、 提升企业综合竞争力的主潮流。智慧港口是港口未来发展主要方向 物联网、云计算技术发展智慧港口是物联网、移动互联网、云计算、人工智能等高新 技术与港口功能的…...

ubuntu如何限制系统日志大小?

ubuntu中的系统日志文件件如不及时清理,时间长了会占用硬盘的空间,如下所示: /var/log/journal/4321d62ad63d44cbbc4dff3b6e282b26/system9f5b4d5081d24b319f8b4677cf673a97-0000000000184ca6-00061412655a5a79.journal: 128M /var/log/journ…...

【Linux】线程概念及线程互斥

目录 线程概念 线程优点 线程缺点 线程异常 线程系统编程接口 线程创建及终止 线程等待 使用线程系统接口封装一个小型的C线程库并实现一个抢票逻辑 线程互斥 互斥量的接口 线程互斥实现原理 使用系统加锁接口封装LockGuard 实现自动化加锁 线程安全和可重入函数 …...

测试需求分析

测试需求是什么? --需求文档 测试需求主要解决**“测什么”的问题,一般来自需求规格说明书中原始需求 测试需求应全部覆盖已定义的业务流程,以及功能和非功能**方面的需求 功能:基本用户需求–优先 非功能:界面&#…...

Qt 翻译工具:使用 tr() 函数实现多语言支持

引言 在开发跨平台应用程序时,支持多语言是一个常见需求。Qt 提供了一套完整的国际化工具,帮助开发者轻松实现应用程序的本地化。本文将介绍如何在 Qt 中使用 tr() 函数进行翻译,并总结一些常见的困难和解决方法。 使用 tr() 函数进行翻译 …...

使用 kustomize 对 kubernetes 对象进行声明式管理

补丁实战 策略合并补丁 基准文件:/test/bases/deploy.yml apiVersion: apps/v1 kind: Deployment metadata:namespace: sharkname: my-nginx spec:selector:matchLabels:run: my-nginxreplicas: 2template:metadata:labels:run: my-nginxspec:containers:- name:…...

Android Studio开发学习(六)———TableLayout(表格布局)、FrameLayout(帧布局)

目录 前言 一、Tablelayout (一)Tablelayout的相关简介 (二)TableLayout使用方法 1. 当TableLayout下面写控件、则控件占据一行的大小。(自适应一行,不留空白) 2.多个组件占据一行,则配合TableRow实现…...

c++ override关键字

在C11及之后的标准中,override是一个关键字,用于表示派生类中的成员函数覆盖了基类中的虚函数。 使用override关键字的好处在于它提供了一种明确的方式来指示编译器:该函数打算覆盖基类中的虚函数。如果使用了override关键字,但该…...

卫星影像联合无人机实现农业保险全生命周期监管监测

随着科技的进步,农业保险监管系统的发展日新月异。特别是近年来,随着卫星技术与无人机技术的结合,为农业保险监管系统带来了前所未有的革新。本文将深入探讨如何利用卫星与无人机方案构建高效的农业保险监管系统,并结合实例进行说…...

ChatGLM2-6B_ An Open Bilingual Chat LLM _ 开源双语对话语言模型

ChatGLM2-6B_ An Open Bilingual Chat LLM _ 开源双语对话语言模型 文章目录 ChatGLM2-6B_ An Open Bilingual Chat LLM _ 开源双语对话语言模型一、介绍二、使用方式1、环境安装2、代码调用3、从本地加载模型 4、API 部署 三、低成本部署1、模型量化2、CPU 部署3、Mac 部署4、…...

JAVA的学习日记DAY6

文章目录 数组例子数组的使用数组的注意事项和细节练习数组赋值机制数组拷贝数组反转数组添加 排序冒泡排序 查找多维数组 - 二维数组二维数组的使用二维数组的遍历杨辉三角二维数组的使用细节和注意事项练习 开始每日一更!得加快速度了! 数组 数组可以…...

Grafana告警(邮件)自定义模板配置

一年前给客户部署配置过grafana,告警配置也是用的原始的,客户在使用过程中只需要一些核心点信息,想要实现这个就需要用Grafana的自定义告警模板以及编辑邮件模板。 通知模板 模板信息的配置中查阅了相关资料,自己组装了一套&…...

大话设计模式——六大基本设计原则(SOLID原则)

设计模式 定义:软件开发中,在特定上下文中解决一类常见问题的被证明为有效的最佳实践。可供其他开发者重复使用解决相似问题。 好处: 提高代码的可重用性,减少重复代码。提高代码的可维护性,使代码更易于理解和修改。…...

Qt | Q_PROPERTY属性和QVariant 类

一、属性基础 1、属性与数据成员相似,但是属性可使用 Qt 元对象系统的功能。他们的主要差别在于存取方式不相同,比如属性值通常使用读取函数(即函数名通常以 get 开始的函数)和设置函数(即函数名通常以 set 开始的函数)来存取其值,除此种方法外,Qt 还有其他方式存取属性值…...

力扣207.课程表

你这个学期必须选修 numCourses 门课程,记为 0 到 numCourses - 1 。 在选修某些课程之前需要一些先修课程。 先修课程按数组 prerequisites 给出,其中 prerequisites[i] [ai, bi] ,表示如果要学习课程 ai 则 必须 先学习课程 bi 。 例如…...

十五届web模拟题整理

模拟赛一期 1.动态的Tab栏 请在 style.css 文件中补全代码。 当用户向下滚动的高度没有超过标题栏(即 .heading 元素)的高度时,保持 Tab 栏在其原有的位置。当滚动高度超过标题栏的高度时,固定显示 Tab 栏在网页顶部。 /* TODO…...

ubuntu20.04 安裝PX4 1.13

step1_install_depenences.sh #!/bin/bash #install gazebo 11 #install protobuf 3.19.6python3 -m pip install --upgrade pip python3 -m pip install --upgrade Pillow# 將 empy 的版本調整爲3.3.4 pip3 uninstall empy pip3 install empy3.3.4sudo apt-get update sudo ap…...

大型网站系统架构演化

大型网站质量属性优先级:高性能 高可用 可维护 应变 安全 一、单体架构 应用程序,数据库,文件等所有资源都在一台服务器上。 二、垂直架构 应用和数据分离,使用三台服务器:应用服务器、文件服务器、数据服务器 应用服…...

探索Java中的栈:Stack与Deque(ArrayDeque和LinkedList)

文章目录 1. 栈(Stack)1.1 定义方式1.2 特点1.3 栈的层次结构 2. 双端队列(Deque)2.1 定义方式及继承关系2.2 特点:2.3 ArrayDeque2.4 LinkedList2.5 Deque 的各种方法2.6 如何选择ArrayDeque和LinkedList 3. 如何选择…...

实践笔记-03 docker buildx 使用

docker buildx 使用 1.启用docker buildx2.启用 binfmt_misc3.从默认的构建器切换到多平台构建器3.1创建buildkitd.toml文件(私有仓库是http没有证书的情况下,需要配置)3.2创建构建器并使用新创建的构建器 4.构建多架构镜像并推送至harbor仓库…...

【数据结构与算法】之8道顺序表与链表典型编程题心决!

个人主页:秋风起,再归来~ 数据结构与算法 个人格言:悟已往之不谏,知来者犹可追 克心守己,律己则安! 目录 1、顺序表 1.1 合并两个有序数组 1.2 原地移除数组中所有的元素va…...

Go 源码之旅-开篇

欢迎来到《Go 源码之旅》专栏!在这个专栏中,我们将深入探索 Go 编程语言的内部数据结构的工作原理,一起踏上一段令人兴奋的源码之旅。 我们将一步步解析关键的数据结构底层工作原理以及一些常用框架的设计原理及其源码。 无论你是初学者还是…...

spring的事件推送

本质上是设计模式中的观察者模式。 一、什么是观察者模式 观察者模式是一种行为型设计模式,它定义了一种一对多的依赖关系,当一个对象的状态发生改变时,其所有依赖者都会收到通知并自动更新。 二、什么是spring的事件推送 在 Spring 的事…...

计算机网络—HTTPS协议详解:工作原理、安全性及应用实践

🎬慕斯主页:修仙—别有洞天 ♈️今日夜电波:ヒューマノイド—ずっと真夜中でいいのに。 1:03━━━━━━️💟──────── 5:06 🔄 ◀️ ⏸…...

动漫网站源码免费/成都seo网络优化公司

电竞键盘是指专门用于电子竞技的键盘,相比较于普通键盘,电竞键盘不仅要支持复杂的灯效,还有对高性能,高响应速度的要求。 复杂的灯效是吸引玩家购买键盘的卖点,能够快速稳定响应玩家按键动作,做出各种灯效…...

app制作网站有哪些 请列举/百度灰色关键词代做

2019独角兽企业重金招聘Python工程师标准>>> 要买新手机了旧手机怎么办?我们可以废物利用下,把旧的手机变成一个远程监控摄像头。这里使用Java创建手机camera客户端和远程服务上的监控界面。 参考原文: Making Android Smart Phon…...

天水嘉通建设集团网站/如何在手机上开自己的网站

目录一、简介二、常见类型转换1、转换为字符串2、转换为指定类型数组3、转换为日期对象4、转换为集合5、指定泛型6、转换为指定类型三、时间日期1、当前时间2、字符串转Date3、Date转字符串4、获取Date对象的某个部分5、开始和结束时间6、日期时间偏移7、日期时间对象-DateTime…...

黄页大全18勿看2000网站/员工培训内容

天边最初的一抹光亮黎明时分的到来,是由天边最初的一抹光亮标识的。但这光亮仅仅是在天际线附近, 甚至满天的星斗还在与它争辉。在这一时段拍摄,除了天边一道亮光外,其他的地方的光线还是非常暗的。此时拍摄,一定需要长…...

做国外的网站/seo服务价格表

一、CMOS与TTL电路的区别1) CMOS是场效应管构成(单极性电路),TTL为双极晶体管构成(双极性电路) 2)COMS的逻辑电平范围比较大(5~15V),TTL只能在5V下工作 3)CMOS的高低电平之间相差比较大、抗干扰…...

摄影瀑布流网站模板/武汉seo关键字推广

$.ajax({url: "/test.php",//后台提供的接口type: "post", //请求方式是postdata:{"type":"1", //这是你要传给后台的data值"t":"c4552111"},dataType: "json", //数据类型是json型success: function (…...