文章所坑。
这些文章存在的问题主要有:
1. 过于夸大这个技术所需要学的东西。
2. 推荐的学习路径不成体系。
3. 过度贬低这个行业。
很多新手,没有经验的情况下,很容易受到这些文章的误导,导致还没入门就已经放弃了。
这里,我可以肯定地跟大家说的是,即便你是初中毕业,照样也能把单片机玩的很溜。
那核心呢就是正确的学习路径+不断实践。
那正确的学习路径都包含哪些基础课程呢?
这个跟我们的定位有关,单片机开发产品一般由2个人协作完成,分别是硬件工程师和单片机软件工程师。
在我以前的文章,我一直强调我们先从单片机软件开始学习,性价比最高。
有了这个定位以后,我们的目标将更加明确,学习也更加轻松。
如果你的定位不清晰,你就会人云亦云,去死磕模电数电,去死磕微机原理,去死磕芯片手册。
这些都是你走弯路的表现,特别是模拟电路,很多人从事开发几年依然看不懂,你指望一个新手能看懂,这明显不符合逻辑。
当初我就是因为看不懂模电导致差点放弃这个行业!
下面我给大家总结以下,作为软件开发需要学习的基础课程:
1. C语言
这是必须学习,也是以后从事开发的核心技能之一,比学单片机重要的多!
2. 基础电路
单片机是针对硬件电路的编程,我们写程序最终就是控制单片机的外设,然后外设控制外围电路实现产品功能。
所以对于软件开发来说,不要求你电路基础有多么扎实,也不用你会设计,这些都是硬件工程师的工作。
对于我们而言,我们只需要看懂电路的控制原理就可以了。
基本上你能看懂市面上那些51开发板原理图和STM32开发板原理图,你基本就能胜任很多产品的软件开发了。
3.单片机
目前主流的单片机有STC 51、NXP、STM8、STM32等等。
我们前期在学习的时候先学STC的51单片机,然后学STM32,其他的到工作中用到什么单片机再针对性去学习就好了,基本上都是相同的,就是配置寄存器把单片机外设用起来。
学习技术是一个非常枯燥的过程,大多数人无法坚持,都是因为没有正确地培养自己的兴趣。
那我的建议就是前期你不用把每个细节都搞透,因为以当下经验也搞不透。
我们可以先把东西做出来,把效果展示在自己的面前,哪怕是复制别人的代码,让你看到你所学的东西原来这么牛逼,这么好玩。
这样可以满足你的成就感,同时也能培养你的兴趣,让你有动力继续学下去。
学的越多,你能做的东西也就越高级,你就会对自己越有信心。