如何学好单片机?

单片机在流行之处曾经风靡一时,大街小巷的mp3,mp4,游戏机都是单片机芯,目前大街上还是有很多单片机的产品,嵌入式的流行对单片机的冲击的确也是不争的事实。随着计算机科技的进步cpu和内存的技术越来越成熟,随之带来的就是硬件配置的水涨船高。特别是近来安卓的普及,搞得大小设备不上安卓就如同跟不上时代潮流似的,就连一个小小的手表就要以运行安卓系统为荣了,安卓系统就不是简单的单片机能承受得了。这么说来单片机是不是真的过时了,到底还有必要去学嘛,如果要学的话该怎么学?

单片机个人理解就是对硬件操作的简单抽象,主要编程语言是汇编或者C语言,有点语言常识的都知道这是最底层的语言了,现在学习语言大部分的都选择C语言作为入门的基础语言,因为从靠近底层的学习语言对于整个编程知识体系的建立还是很有好处的。所以现在即使学了单片机,不要觉得过时了,或者没必要去学,其实对迈向下一步的学习,或者向嵌入式方向的学习还是有极大的好处的。

上面说了这么多,我们如何学习单片机那?

1.首先学好C语言或者汇编,这和单片机本身的开发环境有关,单片机通过直接控制芯片的寄存器的指针地址完成直接操控。这也是为什么大家都觉得C语言神奇的地方直接控制单片机上面显示灯的亮或者灭。因为只要知道了内存地址空间的具体范围就可以直接通过指针直接控制。C语言最神奇的之处就是指针了。汇编学起来就比较头大了,这个真需要兴趣,和对计算机强大的求知欲。C语言学习的过程中,建议使用c primer plus教材,同时在学习的过程中,要把书上的代码在电脑上面都有所体现。没有实践不算编程。

2.有一定的硬件基础知识,因为做单片机基本上对电路图不陌生,甚至直接动手做电路图,这些都需要有一定的硬件基础。其实一般的大学计算机课程里面都会涉及两门课程数字电路和模拟电路,这两门学个大概基本就差不多了。打基础阶段总是痛苦的,真到用的时候就会觉得如鱼得水。记得当初带我那哥们,看到电路板就对电路板的设计样式指点一番江山,脱口而出想当年自己设计的样式如何,有夸大的成分但是硬件基础的确过硬确也是事实

3.对单片机有学习存在很大的兴趣,都说兴趣是第一老师,没了兴趣遇到困难就会觉得好难,有了兴趣或者干劲可能只会觉得这只是路上一个小石头用力一脚踢开就可以了。心态不一样状态也不一样。常常对一些想入门的小伙伴说,想学编程毅力和兴趣必须具备一样,否则真的只会半途而废。

其实说了这么多,还需要有点英语基础因为还是需要阅读一些英文的文档,需要具备一定的操作系统知识,比如互斥锁,终端等等。

单片机虽然没有以前那么盛行,但是在大街小巷还是能看到它的身影,学好它对于本身编程素质的提高,以及知识体系的建立都是有极大的好处,其实从自身参照来说,学习单片机的小伙伴都会系统的底层的实现都有求知欲,老想着找到其实现的原理,看来学习编程还是存在很多共同点,比如喜欢看探索类的电影等等。

原文发布于微信公众号 - 程序员互动联盟(coder_online)

原文发表时间:2015-09-22

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏java一日一条

程序员如何提一个好问题

提出好的问题是在编写软件时的一个非常重要的技能。这么多年来我对此也算略有小成。这里有一些我用着觉得很棒的指导方针!

13630
来自专栏Golang语言社区

CrowdStrike为什么从Scala迁移到Go

自 2012 年开始,安全公司 CrowdStrike 就使用 Scala 开发他们的应用程序,Scala 成为其技术栈的重要组成部分。但随着工程师团队由早期的...

37380
来自专栏java一日一条

10个用Java谋生非常有趣的方式

令我惊讶的是,有些人觉得编程并不令人兴奋——只将它当作是一份枯燥的工作。不过,虽然可能的确有很多无聊的编程工作,但这并不意味着你不得不接受这些工作中的一个。程序...

12420
来自专栏SDNLAB

DevOps需要NetDevOps的5大理由

随着云计算、容器技术的大行其道,DevOps这个一度熟悉又陌生的词汇逐渐被IT企业所津津乐道。曾听过Chris Canciosi的这样一番评价,DevOps填补...

34560
来自专栏数据库新发现

《深入解析Oracle》一书前言

因为我一直觉得,前言是一本书非常重要的部分,作者的思想和意图会在这里传达。以下就是我为这本新书所写下的前言。 ------------------------...

11130
来自专栏PPV课数据科学社区

分布式(hadoop)内核研发面试指南

文 | 封神 本文是同学们进入阿里云等公司的hadoop内核研发岗位的一个指引,需要具备哪些要求,如果不具备则可以往这方面努力。 最近一直在看简历,面试同学,发...

31860
来自专栏企鹅号快讯

让你轻松学习嵌入式的几种线路图方向

嵌入式学习是一个循序渐进的过程,如果是希望向嵌入式软件方向发展的话,目前最常见的是嵌入式Linux方向,关注这个方向,我认为大概分3个阶段: 1、嵌入式lin...

28160
来自专栏大前端开发

微信小程序正式发布,符合你的预期么?

小程序终于在今日凌晨如期发布了,对很多人来说都是非常期待的,看各个开发者群里更是三更半夜还讨论的热火朝天的。

8940
来自专栏jianhuicode

420小时学习代码之后:如何教你免费自学Python

18530
来自专栏陈树义

聊聊阿里面试的三个层次

最近去阿里的菜鸟国际做了一次面试交流,发现大公司对于面试者的知识结构考核非常严谨,可以作为我们日常工作学习的指导。虽然很多人说面试问到的东西在实际工作中很少用到...

37950

扫码关注云+社区

领取腾讯云代金券