单片机
返回首页

自学单片机难吗?单片机编程教学班怎么选?

2022-12-26 来源:zhihu

现在我们随便拿一个智能电子产品,不管是家里电器还是玩具,又或者是飞机大炮,基本都有单片机的应用。

市场需求大到让人发指,很多人以前完全不知道单片机是什么东西,自从接触到以后激发了强烈的兴趣。

每个男人心中都有一个”钢铁侠”梦,都希望自己能通过技术去改变世界。

不过,想要达到这种程度,我觉得要从小培养以外,还要异人的天赋才行。

这几年我看了很多大佬,能力超强,其实他们也是从零基础开始,我们碰到的问题他们当初也会碰到。

千万不要被电影误导,发一场烧就能成为天才,吃一颗大力丸就能改变基因。

要想成为大佬,自己必须一步一个脚印,从基础开始,以3、5、10年的周期去看,你能坚持下去肯定也是大佬。

到那个时候,你或许会到达另一个层次,物质已经不是你的追求了。

自学单片机也一样,技术最怕就是急功近利,这样你永远只能浮在表面,深入不到本质的东西。

典型的就是很多新手直接去学习stm32,因为stm32很多产品都在用,他们也天真地以为自己学会stm32就能做这些产品。

最后你浪费了1年时间也学不会,即便在开发板上学会了stm32,你依然做不出那些产品。

单片机对于我们这些老工程师来说,只是一个工具,stm32的定位是帮助工程师快速开发出产品而不是给新手入门的。

Stm32资源丰富,也很复杂,所以原厂提供固件库方便工程师快速把单片机资源用起来,不需要深入到寄存器配置。

如果你没学过51单片机,你可能连配置寄存器都没听过,虽然能把stm32外设用起来,但是脱离了固件库或者改成hal库了,你完全失去了开发能力,这就是典型的基础知识缺失。

而51单片机不同,你想用单片机的资源,对不起,你需要自己去配置芯片的寄存器。

这个时候你需要去查询芯片手册的寄存器说明,每个位置1和置0是什么意思。

虽然你只是在学习单片机,实际上你学到了很多附加的知识,比如说如何看数据手册。

这些都是作为一个单片机开发必备的技能。

一、自学单片机难吗?

我认为一点都不难,因为我做了这个行业10年,哈哈。

对很多人来说太难了,我们无际单片机编程最近有个刚毕业不久的学员,曾经自学了快2年都学不会。

还有一个零基础40多岁的学员,我们帮他一对一评测好基础,然后规划好学习路线以后,1个月就能独立开发很多程序了。

其中的差距在哪里?

我认为就是以下几点区别:

  1. 学习路径

我们的学习路径都是根据职业定位来规划的,不同的职业定位学习的内容也不同。

规划时我们会结合自己从业10年的经验,只学工作常用到的知识,用不到的绝对不去浪费时间。

很多自学者就是学习路径不清晰,因为他们连定位都不清晰。

举个例子,很多人只知道嵌入式,但是不知道嵌入式其实细分很多方向,比如说单片机开发、ARM+Linux开发、FPGA/DSP开发等等。

不同的方向对应不同的职位,学习的内容也是天差地别。

如果你连这个都搞不清楚,5年都学不会。

学技术不像学其他,错误的路你怎么磕磕碰碰都能碰到重点。

技术弯路太多了,稍微走错就是致命性的错误,比如说明明单片机开发不用学Linux,你跑去学,这就会浪费至少几个月时间。

如果每走一步你都这样错一下,5年学不会真的很正常。

2.学习过程没人指导

即便学习路径正确,自己学的话肯定也会走弯路。

举个例子,我们无际单片机编程有个学员学习的进度总是比别的学员慢一点,我就好奇他是怎么学的。

后面深入聊完,我发现他特别爱钻牛角尖,我们在学stm32的时候,一般是基于固件库开发,不需要去深入理解寄存器如何配置。

而他非要去研究,生怕自己研究不透,到时候出了问题不知道怎么解决。

如果你也这样去学,那学完自己都老了,我当初压根都没去系统学过stm32。

只是有一次有个新产品用stm32的单片机做,我就在网上买了开发板,已经是9年前了,那个时候开发板还没配视频教程的。

就配了每个外设的使用例程,然后我就把这些例程复制到自己产品工程里,改一下参数再测试一下。

比如说改IO口,改定时器中断频率,改ADC通道等等。

就是这样一步步测试出来的。

最后产品做出来了,对于stm32这个单片机的很多资源我也还是不知道怎么用的,但是产品照样也稳定。

后面慢慢基于stm32的产品做多了,对整个固件库也就很熟悉了,甚至能通过固件库学到面向对象的编程思维和技巧等等。

所以,我后面也总结了其实通过项目去学习stm32单片机是最快的。

通过开发板,即便外设你都用起来了,但是你根本不知道这些外设都能用在什么地方,一给你做项目你还是一脸懵逼。

二、单片机编程教学怎么选?

市面上也有很多关于单片机编程的培训,根据我个人经验来说大多数都比较鸡肋。

就是你学完能达到的程度就是开发板水平,这样还不如自己花个100多块买个开发板对着视频学,还节约一大笔费用。

我认为首先要了解学员的基本情况,我们无际单片机编程会为每个新学员进行基础的评测,评测内容也是我们这么多年总结工作中必备的基础知识。

比如说零基础的学员,那首先要学习c语言和硬件基础。

针对单片机的c语言教程我们也是开源的,大家可以找无际单片机编程拿,或者直接到小破站看,相对来说我们的教程更偏向实际开发。

学完c语言和电路基础再学习单片机,直接通过项目去学习。

虽然学习可能没开发板这么系统,但是学员目标很明确,也知道学习的知识实际用在什么场景,学完又有了项目经验为自己找工作做好铺垫,一举多得。

多做几个产品你基本对单片机都很熟悉了,即便有些资源没用过,你也知道怎么去把它用起来。

这种以实际项目驱动去学习的会更靠谱一些,也更契合企业需求。


进入单片机查看更多内容>>
相关视频
  • RISC-V嵌入式系统开发

  • SOC系统级芯片设计实验

  • 云龙51单片机实训视频教程(王云,字幕版)

  • 2022 Digi-Key KOL 系列: 你见过1GHz主频的单片机吗?Teensy 4.1开发板介绍

  • TI 新一代 C2000™ 微控制器:全方位助力伺服及马达驱动应用

  • MSP430电容触摸技术 - 防水Demo演示

精选电路图
  • 光控音效发生器电路

  • 非常简单的150W功放电路图

  • 一个简单的警笛电路图

  • 一个简单的立体声平衡指示器电路

  • 分享一个电网倾角计电路

  • 使用NE555和磁簧开关的橱柜照明电路

    相关电子头条文章