单片机|为什么学了很久的STM32,独立做项目还是一脸茫然

【单片机|为什么学了很久的STM32,独立做项目还是一脸茫然】想学习单片机的同学可以关注、私信我或者在评论区回复我要入门。有很多朋友学了很久的单片机,但是要独立做项目的时候总是差点意思。从我的经验来简单点来说就是基础不扎实,有可能跳过了51直接学习了32,学习的方法不正确,对C语言或硬件接口理解不深,开发代码量太少,对项目的整体概念和逻辑不清晰等技术方面的原因。

单片机|为什么学了很久的STM32,独立做项目还是一脸茫然
文章图片

但明明已经学了很长时间,为什么还有这么多不足?其实有一个核心的问题是大家没有从学习的思维跳出来,从新去理解嵌入式,认为C语言,外设模块或RTOS这些就是嵌入式开发的全部,只会跟着课程,没有转变成工程开发的思维去理解整个嵌入式项目,前面我们提到的知识在一个项目级的产品中也只是其中的一小部分,而且"开发板板上实验都可以做出来", 如果你是只看标题,能够把开发板上的实验用自己的方法做出来,至少你学会了某些外设模块,如果看着给的例程代码,基本不改动做出来,那你这部分的水平只能说是半桶水了,遇到产品项目做不出来是正常的事,做得出来才是天下奇闻。

从项目入手去带动学习是一种非常好的学习方法。对于项目所需要用到的技术从驱动,外设模块,操作系统,应用层API,协议栈等等,如果里面有自己的知识盲区就要去补对应的知识,在做的过程中不仅针对性补充了自己所欠缺的技术知识,也能够成体系的积累嵌入式开发技巧和经验,这是我几年经验总结下来的方法。我入门也是跟着开发板的教程去学习,不过我是先把教程代码对着抄写几遍然后下载测试后,慢慢的脱离教程,先去理解教程的代码,然后先尝试小改例程去实现不一样的功能,再到大改动。把常用的外设都玩一遍,参考市面上的产品就按照自己的想法去组合起来去实现。

如外部中断控制LED,串口输出到LCD显示,做些小游戏等,这种(设定目标=>设计思路=>学习技术=>实践测试=>总结)是一种非常高效的学习方法,很多同学都没有整理出合适自己的高效学习方法,这也是我遇到很多入门者学习一段时间后就会迷茫的原因,每个人迈过单片机门槛都需要一定的方法,但别人的方法合不适合自己只有自己知道,总结自己的学习方法,并且能够学以致用,是让你在这个行业中走下去的保障。

最后说一下嵌入式项目的本质,对于嵌入式来说,整个项目就是把用户或者市场具体的需求转换成现实产品的过程,而嵌入式软件开发在项目中的主要作用,包含
1.将细分的功能需求(产品经理提供)转换成实际的代码实现 -- 应用开发
2.对设计的硬件提供支持运行的代码(不只内部的外设,也包含外部的芯片如传感器,FLASH,CMOS)等 -- 驱动开发
3.对后期的测试反馈和需求的迭代更新

本期先分享到这里,想要进群学习单片机编程的同学可以私信我,回复“我要入门”,与我们一起成长,喜欢的可以点个赞关注我们!如果说硬件的需求难点是众多元器件电路图的积累,那么功能需求到实际代码实现,就是考验是对整个嵌入式系统的技术把控。


    推荐阅读