经验分享 | 多年前我的第一个小项目
关注、星标公众号,直达精彩内容
来源:技术让梦想更伟大
作者:李肖遥
在之前的一个朋友圈中,我发过我在开通淘宝之后买的第一个东西,AVR单片机下载器51单片机转接版 ATMEGA16芯片 51转AVR套件
。
现在回想起来依然是一件记忆犹新的事情,借此也分享一下如何入门一个简单的小项目以及一些经验分享。
寻迹小车小项目
这是一个寻迹小车的小项目,各种器材元器件也都是在网上买的,本来这辆小车还在家里的,但是最近两三年没回家,估摸着是被几个调皮的小外甥给拿去玩坏了,所以找了张这样的照片来。
当时开始是在51单片机上敲敲代码,也有很多资料参考,程序都有参考所以跟着调试一下可以跑起来,其实主要目的就是通过一些项目来锻炼自己编码能力以及对8位单片机的寄存器操作了解。
熟悉之后,觉得8位单片机还是比较简单,但是由于大学没啥钱,就想着来买个51转AVR或者ATMEGA16,这样只需要转换掉核心芯片就可以了,几十块钱可以搞定,一块板子可以搞定三块芯片,是很划算的事情。
这是一段难忘的经历,这个小东西现在看来其实是很简单的,感兴趣的可以上网看看或者找找资料自己搞一个。我清楚明白的记得当时的感受,现在回头来看也有很多对比与思考,想与大家分享。
入门&概念
相信大家都有这样的经历,当经历一个项目或者解决一个bug的之前,我们可能都不太明白具体要做什么或者像我当时一样处于懵懵的状态,而搞定之后就会豁然开朗,守得云开见月明。
其实说到底这并不是这个东西有多难,而是我们在其中没有一个具体的概念,我当时连一些芯片元器件等等都不是很懂,也不知道代码是怎么运行到硬件上面去的,所以入门是一件看似简单其实很艰难的事情。
现在回头来看,一般来说接到一个项目就大概的知道往哪个方向去走,需要什么样的技术栈,如果有一个bug,大部分还是知道该如何去debug或者能够猜测到是哪个类型的问题的。这些成长并不是很容易用文字去描述的,我觉得就是概念的渐渐培养,潜移默化当中我们拥有的知识与经验增加了,那我们这样的思维就慢慢培养起来了。
所以在我们解决问题的时候,想比做更重要,要多想,心里有思路,甚至可以用笔画出来,然后按照这个思路去做,遇到问题再回来画一画想一想,问题就会渐渐清晰了,概念也就明确了,自然而然的我们的问题就会得到解决了。
兴趣&探索
想起来开始搞这些元器件的时候,想的是搞得越多越好,我搜了一下淘宝,我买的东西可真是多啊,像这样的红外避障传感器、舵机电机、声光控开关套件、超声波测距/RT分体接收发射模块/超声波传感器探头、红外解码模块等等,这里太多了不放图了。
当然也有很花钱的开发板,我买过的板子就包括51、msp430、stm32系列一大堆、arm s3c2440以及一些搞飞思卡尔的板子等等,少说也是十几块了。
其实也没什么别的就是感兴趣,心态就是想把这些都学一遍,当时没讲究什么学习方法,就是想去探索,而且据说这些都是常用的单片机,工作上也是常常用到的。虽然现在想起来有点傻,不知道举一反三,纯粹是打着题海战术,但是这也算是一种弯路过后的醒悟吧。
其实这里我想分享一点的是,对于单片机而言,学会看芯片手册,根据寄存器来写程序,或者库函数的使用这些基本的技能掌握之后,是可以融会贯通的,不需要全部去学习,而是在接触一个新的型号的芯片之后就拥有能够去使用它的能力。
学习能力
嵌入式范畴太广泛了,学不完,这是我最大的感受,如果你经历过几个公司或者在小公司接手过一些不同类型的项目,你会发现每次用到的主控或者开发软件平台都很难相同,更不用说在不同领域的了。
所以学习能力很重要,这是在不断经验的积累下,在不断的知识积累、不断的探索下形成的,这需要我们能够坚持,并且坚持学习。
最后
嵌入式的学习确实是范畴广,入门难深入更难,学的多关键还钱少,每当想到这些都会有焦虑有后悔吧。但是回过头看当初选择的,岂不是兴趣打开了这扇大门,岂不是有那么一点小理想让自己坚持。
假期给了自己一些思考的时间,同时也拾起了初心,既然选择了这条路就要风雨兼程,不因外界的环境对比而失去生活的本真,用最初的心去做事吧!
嵌入式编程专辑 Linux 学习专辑 C/C++编程专辑 Qt进阶学习专辑
关注我的微信公众号,回复“加群”按规则加入技术交流群。
点击“阅读原文”查看更多分享。