【这个系列到底是什么】
简单来讲就是基于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年了,时光荏苒,岁月如梭,反观自己的学习之路并不是一帆风顺的,自己学习成长的速度也不能说是很快的的那一个。毕业已经马上到三个年头了,曾经无数次的想过几个问题:自己为什么要从事嵌入式软件开发工程师这个职业?自己的这个职业可以为这个社会带来什么价值?当然一份还算不少的薪水可能是一个原因,但是一个人如果是全部为了薪水而工作那么他的人生一定是失败的。说实话自己目前还没有完全想清楚,但好在感觉这个疑问的答案在慢慢浮出水面---利用自己手中的技术创造出一个能真正可以为社会带来价值的产品。
弱水三千,只取一瓢,如果前面的征途是星辰大海,那么我将义无反顾。
最后分享一个个人觉得很有道理的一段理论,是吴军老师提出的。
- 第五级:能独立解决问题,完成工程工作。
- 第四级:能指导和带领其他人一同完成更有影响力的工作。
- 第三级:能独立设计和实现产品,并且在市场上获得成功。
- 第二级:能设计和实现别人不能做出的产品,也就是说他的作用很难取代。
- 第一级:开创一个产业。
努力进阶成为第四级,争取最终成为第三级。。。共勉。。。