标题:
别让你的单片机学习停留在流水灯水平——一个受害者的感悟
[打印本页]
作者:
Q3322386182
时间:
2017-3-7 17:35
标题:
别让你的单片机学习停留在流水灯水平——一个受害者的感悟
本人还是学生,现在大三,接触单片机一年多以来,从最基础的51开始,到更高级
点的MSP430,一直到现在刚开始上手的STM32,编过的程序不算多,但加起来怎么
也有上百个了,做过的东西仔细数数,能拿出手来算算的上是个样的也不下十个,
算是小有所成吧。
但今天,我却发现,这一年我一直在走一条歪路。
先说一下情况吧,是这样的,最近同学几个合伙做个小项目,不算复杂,跟市面上
的工程项目完全没法比,用难再需要使用的一个芯片是老师给的,从没用过,没有
历程,至于一份电子版的数据手册,一切的一切都只能是从头开始,从底层开始,
我们几个斌开始从最底层的逻辑时序、寄存器操作开始,但经过几天的研究,确实
毫无效果可言。
为此,我们几个郁闷了好长时间,开始疯狂的上网搜资料,拷代码,却终究是不得
而返,还让老师骂了一顿,因为这个项目是我们主动要求老师放给我们的,结果却
耽误了工期。
我次我们几个人很受打击,最终决定大家一起静下心来分析分析
,到底我们败在了什么地方?
最后总经过两天的思考、讨论、总结、检讨···,我们发现了问题的所在,想来
想去,这估计是很大一部分初学者正在面临的一个“瓶颈问题”,所以,由我净这
个讨论的结果发布出来,希望与更多的人交流、分享、提高、共勉。
下面先总结一下我们失败的几点原因:
1、“都是开发板惹的祸”,可以说从开始学习单片机,哪怕是最基础的51
、以致后来的MSP430、ARM,我没从未离开过开发板,而且这长达一年多的时间,
养成了我们对开发板极大的依赖,尽管自己焊过51最小系统、绘制过430最小系统
板,但都是参考的别人已有的电路图,连最基本的电路基本都没分析过,为什么要
在这几个电阻,该加个多大的,不加会怎么样,太大了/太小了会有什么后果,等等
此类问题,我们从未分析过,全是COPY、COPY、再COPY,以致自己做过的东西不少
,能力却未曾提高。
2、“全是例程误导我”,我们买来的开发板,往往都会带有丰富的例程,
通常这也是卖家吹嘘、比拼的地方,但就是这些附带的历程,让我们与底层的开发
绝缘了,有了例程,我们不用再一个代码一个代码地敲键盘,不用再去研究那些器
件的数据手册、通信接口、寄存器、内部原理、以及很多商家没给我们加进去的功
能,哪怕是将这些程序改到别的地方,我们也不过是在宏定义里改两个引脚配置而
已,从未尝试过从底层写驱动、敲代码、写函数,从未尝试过快平台移植代码,开
发呢些没用过的功能等等。
3、“现实环境太无奈”,这跟上面两个说的是不同的方面,我们都是大
学生,大学里现在吵得火热的“大学生就业难”、“你是考研还是就业”、“你报
XXX培训班了吗”“你考四六级证了吗”等等,好像上大学就是为了干这些,似乎
没有这些,你就会陷入“毕业即失业”的困境。面对这些外来的干扰,越来越多的
学生坐不住了,我们这些人也一样,尽管一直在学习自己的爱好,但当被人问得多
了的时候,心里也难免会发毛、会害怕,从而导致一年来真正静下心来学这些东西
的时间越来越少。
大体也就总结怎么多吧,经过这次失败,也算是教训深刻吧,现在才大三,
到大四毕业,还有近两年的时间,还不算太晚,再说将来的路还长,现在发现这些
,应该不算晚吧。
对我们来说,革命尚未成功,同志仍需努力啊!
开这贴,一为总结这次失败、而为自己立志改变、三为警示后来的同学、四
为大家齐言献计。
大家有遇到同样问题的、要类似迷茫的、要好的建议意见的,欢迎回帖交流
,大家一起共勉。
作者:
TangHsiangYu
时间:
2017-3-8 00:26
顶,说的在理
作者:
老当益壮
时间:
2017-3-8 06:35
我也是刚刚买了个开发板,想利用空余时间想学习学习,也是这里找程序那里找程序,网上很多程序是不能用的,找了一大堆个8x16俄罗斯方块程序,仿真也不行,后来在两个看似一模一样的程序里比较,最终发现只相差一句代码,终于做出来了,看来自己不懂真不行啊,
作者:
xmd1972
时间:
2017-3-8 07:25
其实说起来,就是动脑加动手。开发板没罪
只有,自己动手,制作一个哪怕是简单的四位时钟,你也会发现许多问题。不要复制,自己写一个程序,也会学到不少知识。
作者:
jubaolun
时间:
2017-3-8 09:10
确实如楼主所说。
作者:
fsf359
时间:
2017-3-8 09:24
知其然 还要知其所以然啊
作者:
imxuheng
时间:
2017-3-8 10:50
都是楼主的亲身经历,句句发自肺腑,自己也有所感触。我开始学习单片机也是从开发板+例程开始,因为我不是学电子相关的专业,只是个热衷电子电路的DIYer。起步的时候完全不懂,学会烧程序了,看到开发板上出现的效果,顿时自我感觉良好。说实话,一直以来都是把别人的程序拿过修改,但是没有现成的程序,自己就举步维艰,虽然修改了不少程序转达到了自己想要的效果,常见的模块、显示屏神马的都可以驾驭,但是自己没有按照手册编过程序,这为以后DIY带来不小隐患,遂决定从最基础的做起,知其所以然。共勉之!
作者:
魔术快斗
时间:
2017-3-8 13:09
很有道理
作者:
ning
时间:
2017-3-8 13:34
可以的!领悟的很深!
作者:
无痕霸王
时间:
2017-3-8 16:14
确实如此
作者:
justziyou
时间:
2017-3-8 20:33
这个问题其实特别常见,就跟我学java一样,习惯了使用各种编辑工具,然后打开个记事本可能就不会了。主要是这个大环境浮躁了,身边人都是这样,没有明师,自鸣自得久了。现在醒悟还很早的。
作者:
hdance
时间:
2017-3-9 08:53
其实不然,没有开发板,从一开始就学习底层,很多人就会止步了,因为难,枯燥。从开发板上手学,简单易懂,见效快,可以提高学习的兴趣,有一定基础了,再回头来学底层的东西,也就没那么难了……
作者:
hdance
时间:
2017-3-9 08:54
其实不然,没有开发板,从一开始就学习底层,很多人就会止步了,因为难,枯燥。从开发板上手学,简单易懂,见效快,可以提高学习的兴趣,有一定基础了,再回头来学底层的东西,也就没那么难了……
作者:
zhaok2013
时间:
2017-3-9 15:01
hdance 发表于 2017-3-9 08:54
其实不然,没有开发板,从一开始就学习底层,很多人就会止步了,因为难,枯燥。从开发板上手学,简单易懂, ...
楼主的意思我想不是怪用了开发板,而是反思自己没有去深究器件的底层原理,学习的不够深刻!
作者:
zhaoxinrong
时间:
2017-3-12 12:59
看了楼主的话,颇有同感,我也是一名大二的学生,大二才开始看单片机,买了个开发板,照着跟着的视屏学习,各种例子都是自己敲得,感觉学的还可以,可是一遇到例子没有讲到的东西,比如最近遇到的问题,例子上只讲了红外控制,而我遇到的问题是红外感应人体,就不会了,所以现在看来,我需要放下例子,从底层学起了,从最小系统,一个一个的加模块,不能盲目的跟着例子走
作者:
cqhejian
时间:
2017-3-13 15:55
刺激我了,我就卡在流水灯了,,,,,,
作者:
qwertasdfg
时间:
2017-3-14 08:45
如果没有底层代码 还怎么学好单片机呢 学不学习关键还是在于个人 当你工作需要的时候自然会有所得
作者:
vincent.liu
时间:
2017-3-14 19:11
所有我都是买最小系统,买模块,自己搭
作者:
ZhaoHUI134
时间:
2017-3-14 20:05
看来得好好学单片机了
作者:
ponder735
时间:
2017-3-15 09:48
加油
作者:
Q3322386182
时间:
2017-11-3 10:19
加油
作者:
Sea海
时间:
2019-10-14 20:01
有道理,我也觉得是这样的。分析少了光敲代码没什么进步。
作者:
stcdpj
时间:
2019-12-7 12:32
玩单片机半年了,现在准备自己开始话电路板
作者:
sjh1025
时间:
2022-2-10 21:18
说的很有同感
作者:
sjh1025
时间:
2022-2-10 21:19
说的非常在理,很有感触
作者:
sxinyuanxu
时间:
2022-2-11 20:31
顶 我也是刚刚买了个开发板,想利用空余时间想学习学习
作者:
tengtoner
时间:
2022-2-12 11:45
一分耕耘一分收获 努力
作者:
lzzasd
时间:
2022-8-8 08:01
至少要自己构建函数 不然你不知道错在那里 复制例程可以 加在一起就没法找问题了
作者:
qingfengjyf
时间:
2022-8-8 19:13
楼主现在怎么样了?应该是个大神了吧,能够意识到缺陷并去改正的。
作者:
yygdzjs
时间:
2022-8-8 21:28
版主说的没错,学习可以开发板,参考也行;
还是离开开发板以实际项目多从头一点一滴锻炼,培养独立思考及自己动手能力.
说起来简单,做起来挺!!!
作者:
454983949
时间:
2022-8-8 22:25
看了楼主的感慨感觉是那么回事,资料下载了很多,变成自己的不多,很没效率
作者:
113777810
时间:
2022-8-9 07:50
我也是单片机新手,我以前学过VB ,也是二把刀水平,后来给某企业做一套系统,做的时候才发现问题多多,深感会的东西太少,当解决后,才感觉到,不是没学过,而是基础知识掌握不牢固,不能灵活运用
作者:
wuwuwuwuwukk
时间:
2022-8-9 14:54
感谢楼主的分享,终于知道自己停滞不前的原因了
作者:
yyzf998
时间:
2022-8-14 10:08
仁者见仁智者见智!自己的无能不能埋怨别人的开发板和例程,没有例程说不定你现在什么都不是!短短的感言居然错别字一大堆!这算什么玩意啊?这水平就要毕业了。。。。。。实话实说哈
作者:
一事无成
时间:
2022-8-16 13:03
多少是自身的问题,电路不过关,仪器也不会用,程序都是调出来的,硬件不会你怎么调!不要说copy的问题,没本事写的更好就不要用自己的,但要做到心中有数,出了问题要知道怎么改。现实中哪来那么多时间让你造轮子,不然还要函数库干啥,直接全部寄存器操作得了。关于开发板,不要让他限制了你的想象力,将代码拆分成模块,去掉多余的,加入自己想要的功能,再进行封装,这就相当于一个私人的函数库,这其中不可避免会涉及到底层,却没有直接学习底层的枯燥,而且能更清楚知道哪方面用的更多更重要,哪方面更容易出问题,开发板最大的问题是只会对着例程中的代码和要求编程,而不会对着数据手册和项目编程。总的来说,硬件电路,仪器仪表,数据手册是基础,而编程思想是积累而来的。
ps:解决问题的能力和解决问题的速度是不一样的,有解决问题的能力了再来提高速度,不要想一口吃成个胖子!
作者:
liucan2020
时间:
2022-8-17 11:35
是的 ,要知其然,更要知其所以然。。。
作者:
15942379927
时间:
2022-8-19 16:27
这就好比上学时候老师讲的习题,自以为都会了,但是遇到同类型的题还是会懵,更不用最后的大题了
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1