宝藏答案,记得点赞收藏加关注。
很多人说单片机简单?是的,对于一个在嵌入式开发奋战了十多年的老程序员而言,单片机无非就是那么几大件东西。单片机很难掌握?也对,尤其对于那些刚开始接触,比如题主提到的大学本科刚接触的同学来说,单片机挺神秘也挺复杂的。
所以说,回到问题本身。不同的人,对单片机的学习会有不同的接受情况。可以说,题主目前感觉到单片机学习存在一定的困难,是非常非常正常的事情。别看答主现在对多款单片机都能达到熟练使用的水平,但是回到本科阶段当第一次面对单片机课程的时候也感受到了同样的困难。
本科阶段的老师,说实话讲课多数以照本宣科为主,至少当年答主的单片机老师就是这样。好处就是他会详细解答书本中的任何问题,而且他也会避开一些不重要的章节,相当于帮我们筛选掉一些非关键章节,让我们的努力更加集中。
第一,多角度理解术语
初次接触单片机,会遇到很多专业的术语。比如总线,比如时钟树,其实扒开了看,很多术语知识都是以前咱们前面学过的一些知识的拔高和集合。一本书看不懂,那么我们可以从其他的教材,网络,自媒体去研究一下这个术语的含义。
就像前面提到的,答主为什么觉得单片机简单?除了因为学的多,用的多因素外,理解能力和知识范围的扩大,都会对接受新的单片机提供帮助。一个思维方向理解不了,那我们就换个思维路线,或者用以前过往的经验进行理解,等等。
第二,关注重点,在非重点领域不要浪费时间
单片机教材里,大致框架基本上都从历史演进讲起,然后是硬件架构(内部结构,外设和外部管脚),其次将会介绍如何控制这些面向客户的硬件(硬件寄存器),接下来会讲解如何用语言控制寄存器(编程语言-汇编),最后都会整理出一个具体的应用例子让大家将本书的硬件,软件串联起来。
这里面,我们不要花大力气研究历史,去刨根问题为啥51单片机的总线就8位的问题,也不要去探求51单片机为啥硬件这么简单的话题。把精力多放在寄存器、编程语言的学习上。但是,不要深究为啥这个寄存器的这个bit置位或者清零,单片机就这么运行的问题。
第三,编程能力是练出来而不是想出来的
编程语言和编程能力,和我们学习第二外语很相似。都是需要语境和不断练习的。很多学校的单片机课程都会配套实验课程,提供单片机电路板进行编码练习。千万别像答主年轻时候一样,就为了完成实验作业草草写个程序就交差跑出去踢球,珍惜难得的实验条件多验证验证其他的寄存器指令,多接触一下单片机硬件,对于理解编程语言很有帮助。
第四,老师在菜也是比你经验丰富
跟着老师的节奏来,毕竟人家也是认真备课的。先不说他的讲解如何,但是至少我们知道他讲的东西,考试肯定涉及,也是这么课程的重点。再者,一个现成的线下答疑老师,多好的机会和资源我们还不好好利用起来。
如果你想学习单片机,学习嵌入式,自学感觉困难,没有项目做,没有人解决问题,学的零散,可以关注我,跟着班,跟着工程师,一起系统学习,做项目,有问题随时解决,详细的可以看我主页,微我 |