单片机新手学STM32还是学51?

先说我的答案

如果你之前只是接触计算机方面的东西,对单片机的内部结构,以及供电,外设,传感器,相关控制硬件,驱动硬件,保护电路等还没什么了解或者没什么概念的话,我建议(只是建议)你从51开始。

第一点

这里并不是说学习stm32需要丰富经验,而是说学习嵌入式这个领域本身就是既要由浅入深,又需要经验与积累,更要不断从中获得探索的兴趣与乐趣的。

学习51不浪费时间,相反,手册简单易懂,资料多如牛毛,不用管STM32中各种库的互相学习和混合编程,51的操作寄存器方式又相当有助于理解单片机的来龙去脉,既然都说了是学习,为何不用?

等到了真正能够干活,做大东西的时候,简单用用stm32很快能上手,一点也不亏

第二点

出来混的,迟早都要还的。
17年,我有幸前往清华做切磋交流,一位大四学姐的话很有高度,与大家分享:

“你会哪种单片机不重要,要看你要用哪种单片机。”

到了后来,我们已不再论单片机称英雄,因为你该会的都得会!一个东西要你接手查查bug调调程序,主控是51,你总不能和老板说这活我干不了我不会51。那此时,你会的stm32也就没什么用了。

第三点

由浅入深,培养模式与方法,这样能够更深入的抓住不变的东西,不容易劝退而对整个行业感到无助与失望。

新手学嵌入式难把握劝退问题。同学兴冲冲地买了开发板,结果弄了一下午灯都没点亮,也不知道是程序还是其他问题。我去帮他解决,发现他的LED没有串电阻,不是没点亮,而是已经烧毁了。他告诉我他很失望,东西这么脆弱,价格又这么贵(其实是他不清楚LED是非常非常便宜的器件,他只是看到整个实验套件要好几百)

这件事做举例可能不太准确,毕竟所有单片机都可能面临这种情况,但其中的道理再适合不过了:

  1. 缺乏相关知识与经验:

    LED应该是最基础的外设,串1k对5v,串510对3v3怕是有点经验人的常识了。

    (不要说学过模电就好了,我们都是电信学院的当然学过模电,然而实践并不是书本,让没经验的人算算这个led要用多大电阻连接,电阻还得是标准阻值内的,怕是连datasheet都不好查)

  2. 没被现实暴打过:

    20%code,80%debug,半天时间就放弃有点快了,更何况这么简单的点灯,只要调试过嵌入式,都能很快锁定问题。

  3. 缺乏调试手段

    万用表没有,也没去网上找找为什么,只是盯着程序看了半天。这可能是新手都有的经历吧。(当然,找外援也是一种高妙的调试手段哈哈)

我们不能完全避免这些,毕竟新手要是有经验了那就是老鸟了。
但我们可以尽可能的控制这种劝退的发生,选择一个简单的单片机能尽量减少不该有的岔子和疑惑(后来那个同学被我安利去买了万用表等,并且先玩了arduino去了解基本经验,现在stm32也过渡过来了并且很厉害)


三点讲完了,这里也与大家分享我学嵌入式的历程和感受。

我六年级学习单片机是兴趣使然。启蒙是一块普中51开发板,北京旅游时中关村所买,印象极为深刻!这么多年过去,这块板子仍是知名型号,它也陪着我做了大大小小的作品和项目,至今仍可正常使用。

最令我开心的是这个:

全家福
在这里插入图片描述

第一版样机
在这里插入图片描述

第三版样机
在这里插入图片描述

大家不要笑话觉得丑,这可是我在高一的时候完全自己做的,连PCB和壳体哦~

看吧,即使是51也可以玩出名堂来。

看吧,想要个赞,也是不简单的哈哈~

考上了同济后,时间就灵活而充裕起来,我开始学习更多的嵌入式系统的东西。

STM32做的HID摇杆鼠标:
在这里插入图片描述

树莓派+DHT11+html5做的智能传感终端:

在这里插入图片描述
STM32+ESP8266做的温度遥测系统
在这里插入图片描述

i.mx6ull +Linux+Qt做频谱分析仪
(这里有保密,所以不能放原版界面)

在这里插入图片描述
在手表上写androidx程序
在这里插入图片描述

飞思卡尔K60智能车
在这里插入图片描述

学嵌入式是个大活,一定要告诉自己水滴石穿,不要急功近利,而且一定要坚持。一天不行调两天,我调不行找外援,而且必须要有起因有结果,这样才能学到东西。

另外,积累博客是个非常好的习惯,别人好的东西收藏,自己好的东西分享,大家互相进步。我一直保持写blog的习惯,可是csdn的忠实粉,哈哈!

最后,作为一个爱国情怀很重的学子,顺便提一下,希望在学成之后多考虑国内的芯片,GD32不错,K210我也强推,ESP系列更是方便到家了,既然是工具,不妨大家支持下国之重器咯,只有给他们足够的关注与反馈,他们才能够茁壮成长不是?

文尾声明:本文文字与图片均为本人提供,知乎“LED种子”作者就是本人,并非抄袭转载。

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐