我来终极下这个问题。
本人2011年自学单片机成功跨行,那个时候做的第一个项目是平衡小车,现在看起来依然回忆满满。
那年我和很多应届生一样,面临着毕业危机,不知道出来该干什么,家里又没矿,一切只能靠自己。
学校混了几年,除了学会打游戏,没任何特长。
后面想着去做程序员吧,工资高,误打误撞我接触到了单片机,鬼知道我第一次自学的编程语言是java。
那时候又没钱去报培训班,就在网上看了很多入门的文章,不得不说的是,很多文章真的很坑,明明两点一线直线最短,非要给你绕个山路十八弯。
汇编、C语言、微机原理、各种仿真工具、各种仪器仪表、熟悉各种模电数电、数学英语水平要好等等,还有一个说要学C++的,看的我哭笑不得,这样学的会才怪!。
今天我给大家分享下自己的经验,保证接地气,初中文凭学起来都像开挂一样!
很多人学不会的原因大多是定位不清晰、学习路径和方法不对,动不动就想着吃透某个知识点。
比如说去吃透数电模电,吃透微机原理等等。
这种理论的东西在入门的时候去深究毫无意义,反而会加大你学习的难度和周期,让你信心受挫。
因为你当下的经验和认知根本理解不了,即使理解了也只是表面的,你根本不知道实际产品用在哪里,不知道学来有什么用。
做单片机开发其实细分两个职位:硬件工程师和单片机软件工程师。
为了保证开发周期,一般不会让你硬件软件全干,我们最开始的定位应该是单片机软件工程师,因为这个比一般的硬件工程师工资高。
后面如果想让自己更牛逼,那就干全栈(硬件软件通吃),这个只能经过大量产品实战,靠开发板是学不来的。
有了这个定位之后,接下来再进一步去过滤精简需要学习的内容。
我把整个入门学习分为3大块:
1. 基础电路
一般涉及到的知识就是欧姆定律、单片机最小系统、LED驱动电路、按键检测电路、ADC检测电路、三极管开关电路等等。
主要还是数字电路比较多,有一个量化标准就是,你能看懂51开发板的原理图其实就够了。
把重点放在C语言和单片机上面去。
2. C语言
单片机可以用汇编,也可以用C语言编写程序,汇编用的比较少,只学C就够用了。
C语言和单片机的学习应该是同步的,比如说会基本数据类型+条件语句就可以在开发板上点亮一个LED了。
这是比你在黑框里显示”Hello world”有趣的多?
你会觉得你学的东西真的能干点实事,很多人缺的就是这种即时反馈感,或者成就感。
初步尝到甜头后,你会更有动力往下学,下一步我要实现流水灯功能,再下一步我要实现数码管显示数字。
慢慢地你越学越深,学的越深你会发现能做的东西也更牛逼,形成一个良好的学习闭环。
3. 单片机
单片机我建议从51开始学习,很多人1级上来就干stm32,最终花费的时间更多。
51我提倡系统地学习,就是每个外设、每个寄存器都必须要接触到并且实践。
因为51的寄存器很少,基本不会花你太多时间,但是收获是很可观的,学完你能对单片机有一个系统的认识。
后面再换别的单片机,你就能得心应手了。
现在STM32的需求也很多,所以STM32也是必学的,但是学STM32一定要把它当做一个工具,而不是一门技术。
我们的目标是利用这个工具把产品快速地做出来,ST出固件库的初衷也是如此。
所以,我们只关心怎么调库把外设用起来就行了,至于怎么配置寄存器一律不用管。
以上就是对单片机入门学习的框架,看完是不是瞬间觉得简单很多?方向也更明确了。
我来终极下这个问题。
本人2011年自学单片机成功跨行,那个时候做的第一个项目是平衡小车,现在看起来依然回忆满满。
那年我和很多应届生一样,面临着毕业危机,不知道出来该干什么,家里又没矿,一切只能靠自己。
学校混了几年,除了学会打游戏,没任何特长。
后面想着去做程序员吧,工资高,误打误撞我接触到了单片机,鬼知道我第一次自学的编程语言是java。
那时候又没钱去报培训班,就在网上看了很多入门的文章,不得不说的是,很多文章真的很坑,明明两点一线直线最短,非要给你绕个山路十八弯。
汇编、C语言、微机原理、各种仿真工具、各种仪器仪表、熟悉各种模电数电、数学英语水平要好等等,还有一个说要学C++的,看的我哭笑不得,这样学的会才怪!。
今天我给大家分享下自己的经验,保证接地气,初中文凭学起来都像开挂一样!
很多人学不会的原因大多是定位不清晰、学习路径和方法不对,动不动就想着吃透某个知识点。
比如说去吃透数电模电,吃透微机原理等等。
这种理论的东西在入门的时候去深究毫无意义,反而会加大你学习的难度和周期,让你信心受挫。
因为你当下的经验和认知根本理解不了,即使理解了也只是表面的,你根本不知道实际产品用在哪里,不知道学来有什么用。
做单片机开发其实细分两个职位:硬件工程师和单片机软件工程师。
为了保证开发周期,一般不会让你硬件软件全干,我们最开始的定位应该是单片机软件工程师,因为这个比一般的硬件工程师工资高。
后面如果想让自己更牛逼,那就干全栈(硬件软件通吃),这个只能经过大量产品实战,靠开发板是学不来的。
有了这个定位之后,接下来再进一步去过滤精简需要学习的内容。
我把整个入门学习分为3大块:
1. 基础电路
一般涉及到的知识就是欧姆定律、单片机最小系统、LED驱动电路、按键检测电路、ADC检测电路、三极管开关电路等等。
主要还是数字电路比较多,有一个量化标准就是,你能看懂51开发板的原理图其实就够了。
把重点放在C语言和单片机上面去。
2. C语言
单片机可以用汇编,也可以用C语言编写程序,汇编用的比较少,只学C就够用了。
C语言和单片机的学习应该是同步的,比如说会基本数据类型+条件语句就可以在开发板上点亮一个LED了。
这是比你在黑框里显示”Hello world”有趣的多?
你会觉得你学的东西真的能干点实事,很多人缺的就是这种即时反馈感,或者成就感。
初步尝到甜头后,你会更有动力往下学,下一步我要实现流水灯功能,再下一步我要实现数码管显示数字。
慢慢地你越学越深,学的越深你会发现能做的东西也更牛逼,形成一个良好的学习闭环。
3. 单片机
单片机我建议从51开始学习,很多人1级上来就干stm32,最终花费的时间更多。
51我提倡系统地学习,就是每个外设、每个寄存器都必须要接触到并且实践。
因为51的寄存器很少,基本不会花你太多时间,但是收获是很可观的,学完你能对单片机有一个系统的认识。
后面再换别的单片机,你就能得心应手了。
现在STM32的需求也很多,所以STM32也是必学的,但是学STM32一定要把它当做一个工具,而不是一门技术。
我们的目标是利用这个工具把产品快速地做出来,ST出固件库的初衷也是如此。
所以,我们只关心怎么调库把外设用起来就行了,至于怎么配置寄存器一律不用管。
以上就是对单片机入门学习的框架,看完是不是瞬间觉得简单很多?方向也更明确了。
举报