【STM32项目实战系列】系列开篇导语

news2025/2/25 3:07:20

【这个系列到底是什么】

        简单来讲就是基于STM32的主控芯片的实际应用项目的介绍(当然根据不同的项目功能特性需要使用不同的系列的ST主控芯片),这里面会涉及到基础工程的建立、各种驱动外设、中断和时钟的配置、RTOS的移植方法、文件系统的移植方法、还有项目中其他的一些需要与主控配合实现产品功能的一些模组的使用方法等等。

【为什么做这个系列】

       还记得大三的那个夏天,我们专业班级开展了一节STM32实训课,大概持续了半个月的时间。当时我们5个人一个小组需要共同协作完成一个电子秤的小项目,当时的授课老师先是讲了关于ST的一些基本外设的配置方法,然后就让我们自由发挥了。

       说实话我当时所在的是一所普本大学,学习的氛围并不是特别好,结果就是一个小组5个人有4个都在摸鱼,全靠我来完成这个小项目。因为前面只是有了一个基础课程的学习还没有上手实战过所以短短两周的时间平均每天经历过4次抓耳挠腮的时刻,不是程序编不过就是程序烧进板子里面没有任何反应。好在有实训老师的帮助,从完成开发板的小灯闪亮到最终物品的压力的参数通过一块小的LED屏幕显示出来,整个过程仿佛是经历了九九八十一难最后终于取得真经,也是这个时候才让我对于工程师这个角色有了一个深刻的体会。

       到了后面我没有在继续在这个领域进行钻研,而是投入到了考研的浪潮里面,后来考研失败了有点心灰意冷觉得自己现有的水平很难考上名校研究生了,没有继续二战,而是直接选了本地的一家小公司做嵌入式开发助理,这其中用的还是STM32系列的芯片加上keil5集成开发环境,当时带我的是一个临近退休的老全栈工程师,所有的驱动配置都是直接操作的寄存器并且还含有大量的汇编语言,着实让我懵逼了很长时间,那段时间几乎所有的业余时间都在精进自己的C语言水平并大量了解关于STM32的硬件与外设知识,什么正点原子、黑马程序员、信盈达嵌入式,华清远见的课程都有学过,然后就是边工作边学习了大半年之后才感觉脑子中有了一个系统化的嵌入式知识结构。路漫漫其修远兮,吾将上下而求索。

       在学习的过程中确实是走了很多的弯路,但是不得不说想入行嵌入式行业,STM32芯片绝对是绕不过去的一个大坑。工作两年多的时间以来,也接触过瑞萨mcu,NXP S32系列的mcu,最后才发现STM32对于开发者无论是开发效率还是学习成本或者是开发难度而言都是神一般的存在。回想自己开发过的项目里面的主控,STM32芯片才真正算得上一款自己系统学习过的一款芯片,刚好最近公司的一个项目也需要基于STM32系列的芯片作为主控,所以就萌生了基于STM32介绍整个项目开发模式与各个模块的开发方式,正所谓温故而知新可以为师矣,这样不仅自己可以再次温习一下这款经典mcu,也可以给嵌入式的小白或者是想入行的朋友一个学习的机会。

【对于知识经验分享的理解】

        刚刚入行的那一年多的时间里面,我很少在博客上面还进行知识的分享,一方面觉得自己的水平不够,另一方面也感觉占用自己较长的时间。但是近两年我的看法有所改变,尤其是在当下写这篇博客的时候(目前已经累计发布各种技术学习博客30余篇),分享出自己的技术观点的时候,本着为读者朋友负责的心态一定会各种搜资料验证自己的技术观点是正确的,然后到一篇技术文章的完成,整个过程中自己对于技术的理解会有一个非常大的升华。上学的时候听过费曼学习法,工作之后也听过不少博主提到输出倒逼输入是最好的学习方式,发布了几篇文章才可以深刻的体会到:费曼诚不欺我。

        真的是不一定非得是大佬你才可以记录发布博客,哪怕你是技术小白也有东西可以分享,无论是记录自己的学习笔记了还是分享自己的学习心得了都会给自己带来很大的技术提升,只要时间长了并坚持分享博客相信不久的将来小白终会变成大佬。共勉。

【个人的一些碎碎念】

        今天写下这个博客文章的时候已经是2025年了,时光荏苒,岁月如梭,反观自己的学习之路并不是一帆风顺的,自己学习成长的速度也不能说是很快的的那一个。毕业已经马上到三个年头了,曾经无数次的想过几个问题:自己为什么要从事嵌入式软件开发工程师这个职业?自己的这个职业可以为这个社会带来什么价值?当然一份还算不少的薪水可能是一个原因,但是一个人如果是全部为了薪水而工作那么他的人生一定是失败的。说实话自己目前还没有完全想清楚,但好在感觉这个疑问的答案在慢慢浮出水面---利用自己手中的技术创造出一个能真正可以为社会带来价值的产品。

        弱水三千,只取一瓢,如果前面的征途是星辰大海,那么我将义无反顾。

        最后分享一个个人觉得很有道理的一段理论,是吴军老师提出的。

 

  • 第五级:能独立解决问题,完成工程工作。
  • 第四级:能指导和带领其他人一同完成更有影响力的工作。
  • 第三级:能独立设计和实现产品,并且在市场上获得成功。
  • 第二级:能设计和实现别人不能做出的产品,也就是说他的作用很难取代。
  • 第一级:开创一个产业。

努力进阶成为第四级,争取最终成为第三级。。。共勉。。。

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

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

相关文章

产业园管理系统赋能企业精细管理与效益提升新路径

内容概要 现在的企业运营面临着越来越复杂的管理挑战,尤其是在园区管理领域。为了提升管理效率和经营效益,产业园管理系统的推出无疑为众多企业提供了全新的解决方案。这套系统通过智能化技术,将资产管理、租赁管理与财务监控等多个功能有机…

论文笔记(六十二)Diffusion Reward Learning Rewards via Conditional Video Diffusion

Diffusion Reward Learning Rewards via Conditional Video Diffusion 文章概括摘要1 引言2 相关工作3 前言4 方法4.1 基于扩散模型的专家视频建模4.2 条件熵作为奖励4.3 训练细节 5 实验5.1 实验设置5.2 主要结果5.3 零样本奖励泛化5.4 真实机器人评估5.5 消融研究 6 结论 文章…

鸿蒙中选择地区

1.首页ui import { CustomDialogExampleSelectRegion } from ./selectRegion/SelectRegionDialog;Entry Component struct Index {State selectedRegion: string 选择地区// 地区dialogControllerSelectRegion: CustomDialogController | null new CustomDialogController({b…

【HarmonyOS NAPI 深度探索12】创建你的第一个 HarmonyOS NAPI 模块

【HarmonyOS NAPI 深度探索12】创建你的第一个 HarmonyOS NAPI 模块 在本篇文章中,我们将一步步走过如何创建一个简单的 HarmonyOS NAPI 模块。通过这个模块,你将能够更好地理解 NAPI 的工作原理,并在你的应用中开始使用 C 与 JavaScript 的…

excel实用工具

持续更新… 文章目录 1. 快捷键1.1 求和 2. 命令2.1 查找 vloopup 1. 快捷键 1.1 求和 windows: alt mac : command shift T 2. 命令 2.1 查找 vloopup vlookup 四个入参数 要查找的内容 (A2 6xx1)查找的备选集 (C2:C19)…

Linux中的基本指令(一)

一、Linux中指令的存在意义 Linux中,通过输入指令来让操作系统执行,以此达到控制操作系统的目的,类似于Windows中的双击,右键新建文件,新建文件夹等 1.补:关于屏幕的几个操作指令 ①清屏指令 clear 回…

深入解析 C++17 中的 u8 字符字面量:提升 Unicode 处理能力

在现代软件开发中,处理多语言文本是一个常见需求,特别是在全球化的应用场景下。C17 标准引入的 u8 字符字面量为开发者提供了一个强大的工具,以更有效地处理和表示 UTF-8 编码的字符串。本文将详细探讨 u8 字符字面量的技术细节、实际应用&am…

2025年国产化推进.NET跨平台应用框架推荐

2025年国产化推进.NET跨平台应用框架推荐 1. .NET MAUI NET MAUI是一个开源、免费(MIT License)的跨平台框架(支持Android、iOS、macOS 和 Windows多平台运行),是 Xamarin.Forms 的进化版,从移动场景扩展到…

C++和OpenGL实现3D游戏编程【连载21】——父物体和子物体模式实现

欢迎来到zhooyu的专栏。 🔥C和OpenGL实现3D游戏编程【专题总览】 1、本节要实现的内容 上节课我们已经创建了一个基础Object类,以后所有的游戏元素都可以从这个基类中派生出来。同时为了操作方便,我们可以为任意两个Object类(及其…

unity插件Excel转换Proto插件-ExcelToProtobufferTool

unity插件Excel转换Proto插件-ExcelToProtobufferTool **ExcelToProtobufTool 插件文档****1. 插件概述****2. 默认配置类:DefaultIProtoPathConfig****属性说明** **3. 自定义配置类****定义规则****示例代码** **4. 使用方式****4.1 默认路径****4.2 自定义路径**…

【数据结构篇】顺序表 超详细!

目录 一.顺序表的定义 1.顺序表的概念及结构 1.1线性表 2.顺序表的分类 2.1静态顺序表 2.2动态顺序表 二.动态顺序表的实现 1.准备工作和注意事项 2.顺序表的基本接口: 2.0 创建一个顺序表 2.1 顺序表的初始化 2.2 顺序表的销毁 2.3 顺序表的打印 3.顺序…

vulnhub靶场【IA系列】之Tornado

前言 靶机:IA-Tornado,IP地址为192.168.10.11 攻击:kali,IP地址为192.168.10.2 都采用虚拟机,网卡为桥接模式 本文所用靶场、kali镜像以及相关工具,我放置在网盘中,可以复制后面链接查看 htt…

云上贵州多彩宝荣获仓颉社区先锋应用奖 | 助力数字政务新突破

在信息技术应用创新的浪潮中,仓颉社区吸引了众多企业和开发者的积极参与,已有多个应用成功落地,展现出蓬勃的创新活力。仓颉编程语言精心遴选了在社区建设、应用创新、开源共建、技术布道等方面做出突出贡献的优秀项目应用,并颁发…

第十二章:算法与程序设计

文章目录: 一:基本概念 1.算法与程序 1.1 算法 1.2 程序 2.编译预处理 3.面向对象技术 4.程序设计方法 5.SOP标志作业流程 6.工具 6.1 自然语言 6.2 流程图 6.3 N/S图 6.4 伪代码 6.5 计算机语言 二:程序设计 基础 1.常数 …

2025 最新flutter面试总结

目录 1.Dart是值传递还是引用传递? 2.Flutter 是单引擎还是双引擎 3. StatelessWidget 和 StatefulWidget 在 Flutter 中有什么区别? 4.简述Dart语音特性 5. Navigator 是什么?在 Flutter 中 Routes 是什么? 6、Dart 是不是…

BUUCTF_Web([GYCTF2020]Ezsqli)

1.输入1 ,正常回显。 2.输入1 ,报错false,为字符型注入,单引号闭合。 原因: https://mp.csdn.net/mp_blog/creation/editor/145170456 3.尝试查询字段,回显位置,数据库,都是这个。…

HTML学习笔记(4)

目录 一、背景相关样式 二、定位position 三、javascript 1、变量的定义 2、数据类型 3、绑定事件 一、背景相关样式 background-image: url(); // 背景图片 background-repeat: repeat; // 背景图片是否平铺 no-repeat background-size: 200px; // 背景图片尺寸 cover把…

亲测有效!如何快速实现 PostgreSQL 数据迁移到 时序数据库TDengine

小T导读:本篇文章是“2024,我想和 TDengine 谈谈”征文活动的优秀投稿之一,作者从数据库运维的角度出发,分享了利用 TDengine Cloud 提供的迁移工具,从 PostgreSQL 数据库到 TDengine 进行数据迁移的完整实践过程。文章…

Excel 技巧11 - 如何使用Excel作成简单的排班表(★★),weekday 函数,TEXT函数

本文讲了如何在Excel中制作简单的排班表。 1,排班表Layout效果 - B2 单元格找那个输入 日期 - C3 - AG3 输入日,就是该月份的几号,比如1月5号,就输入5 如果是周六周日,背景色显示为绿色 - B4 ~ 输入员工名称 当 B2…

mac m1下载maven安装并配置环境变量

下载地址:Download Apache Maven – Maven 解压到一个没有中文和空格的文件夹 输入pwd查看安装路径 输入cd返回根目录再输入 code .zshrc 若显示 command not found: code你可以通过以下步骤来安装和配置 code 命令: 1. 确保你已经安装了 Visual Studio…