到这里基本我们的MSP430趣谈的系列教程也是告一段落了,总的来说我们对于单片机的学习基本也就掌握几个方面,一个是基本IO的控制,输出高,输出低这种基本的应用是我们最开始的入门工作,也就是我们常说的入门点灯,一方面是定时器的使用,这个当然基础就是你要对芯片的时钟系统有一定的了解,才能够对定时器的具体时间能有一个好的把控,一方面就是中断的使用了,这个对于单片机来说无比重要,但是它的原理是很好理解的,到目前为止我们所看到的多任务系统其实很多并不是并行的执行多个程序,很多都是用着同一个core,一个大脑在计算运行,但是他们是利用时间片或者其他方式,在很短的时间内执行一个程序,在下一个时间点中执行另外一个程序,由于时间间隔非常短,所以我们感觉到的是两个程序同时执行。那么中断是实现我们单片机应对突发事件,或者是多任务执行程序的一个非常重要的功能,这个是需要我们重点学习的。另外一个方面就是我们的数据总线的学习了,这个东西对于不同的单片机当然有着不同的实现方式,但是现在我们常用的一些数据总线,包括IIC、SPI、UART、CAN等等,虽然很多很复杂,但是我们要知道这些东西都是标准的东西,你学会了一个,那下一次不管你是在哪里用到这个东西,那都是一样的。
总结下来我们学习一款单片机就一下几点:
1.基本的IO操作
2.定时器的使用和原理的了解
3.中断的使用和配置
4.数据总线的学习
大概就是这几个方面,可能总结的不一定对,但是总的总结各个不同的单片机我们可以得出这样的规律。当然我们上面说到的这些东西是很通用的东西,当然各个芯片会有一些差异,包括他们包含了更多使用起来更加方面的模块等等,但是这些都是属于细节的东西,我们学习的话当然把握的是方法,是他们相同的地方,能够融会贯通他们相同的地方,那么下次遇到同样的东西,相信你掌握它也是很快的。
所以如果你认认真真的学习了一款单片机,不管是51或者是430,当然如果你是初学者的话推荐从这两款开始学习,那么到后面更复杂的单片机,包括我们常说的STM32以及其他的,会发现他们相通的地方很多。
所以重点还是在于我们需要掌握方法,学习的方法。在这个信息量这么大的世界之中,那么多的知识我们是根本没有办法学完的,每天更新的东西有多少啊,是我们无法想象的,所以我们处在这样的环境中,我们需要灵活变通,如何在最短的时间内让自己学会这个东西,能够应用这个东西,我想这个对于产品的原型开发是非常重要的。
所以单片机的学习,大家大致也就认真掌握上面说的几个方面,融会贯通就可以了。之后你再接触单片机的东西你就明白,哇,原来所谓的单片机,虽然名字大同小异,但是他们的内容他们的结构很多都是类似的。
在比如说,我们看下编程语言这种东西,我们现在能够常常听到的编程语言就有多少,上百种甚至上千种编程语言,常见的比如说C/C++、Java、Python、Perl、PHP、Swift、Objective-C等等非常的多,我们改如何学习,说实话我们根本不可能去学这么多的东西,如果学了,也只能是泛泛的走个过场的形式,你学不精,当然不排除个例,有的人学习能力确实非常棒。
我们纵观这些语言我们会发现一个特点,他们的出现都是为了让事物变得更简单,所以现在的语言发展趋势就是变得越来越简单,举个简单的例子,比如说你想在电脑屏幕上面输出一个Hello World!,我们如果用C实现,那么不是还要写一个#include “stdio.h”然后写一个main函数,然后在中间写一个printf(“Hello world!”)对吧,看起来四五行代码,也不复杂,那么我们转变到Python下面来实现这个东西,会发现,你什么都不用做,直接写print “Hello World!”就可以了,回车就可以直接输出了。简单的例子我们可以看出语言总是往简单的方向走。
还有比如说当我们学习C的时候,遇到指针,哇头都大了,是吧,但是当我们转换到Java的时候,请问你什么时候见到过指针这个东西,所以语言越来越将一些复杂的东西简单化了。
那么这里我们看待这些语言的时候会发现,他们很多语言有一个特点,就是面向对象,我们在这里不深究面向对象是什么意思,自行百度咯,会发现他们有这样的一个特点,既然大家都讲这个东西,那么他们肯定很多地方是相似的,没错!那么我们改如何去学习呢?
这个给出我的个人看法,很多我们在中国的大学,我们会学习C对吧,让我们会学习什么呢?就是龙头老大C++了,C++到现在还是编程语言的排行前十,使用频度还是非常高的,为什么说C之后就要选择C++呢?一个原因,它比较难,哈!开玩笑,不过确实C++挺难的,是因为C++是比较早提出面向对象的东西,所以他所涵盖的内容会比较广泛,如果你能深入的了解和学习C++那么对于一些细节的东西在C++会了解到,同时怎么说,不知道能不能说作为面向对象的鼻祖,我们需要认真去学习C++。
当然你也可以直接学习Java这也完全没有问题。只是说,我们在深入的了解到所谓的面向对象,到后面对整个语言发展以及他们共同的地方,能够帮助我们进行学习。就比如说如果你学会了C++,相对而言学的还不是那么菜,那么你过渡到Java是非常快的,尽管他们中间有很多的细节发生了改变。当然转换到Python也是很快的。
所以总的来说我们在学习一个新的事物的时候,要掌握方法,要去了解它和其他东西的相同的地方,不同的地方,来帮助我们学习。在这个信息爆炸的时代中,高效永远不会是一个坏的词。
【MSP430趣谈】MSP430第一讲
【MSP430趣谈】MSP430第二讲
【MSP430趣谈】MSP430第三讲之如何写自己的第一个程序
【MSP430趣谈】MSP430第四讲之简谈中断
【MSP430趣谈】MSP430第五讲之库函数的使用
【MSP430趣谈】MSP430第六讲之时钟简介与图形化配置方式
【MSP430趣谈】MSP430第七讲之库函数的定时器使用
【MSP430趣谈】MSP430第八讲之时钟设置
【MSP430趣谈】MSP430第九讲之串口使用
【MSP430趣谈】MSP430第十讲之SPI总线驱动OLED(2016.02.22)
【MSP430趣谈】MSP430第十一讲之IIC的使用(2016.02.24)
【MSP430趣谈】MSP430第十二讲之ADC(上)(2016.03.13)
【MSP430趣谈】MSP430第十二讲之ADC(下)(2016.03.29)
【MSP430趣谈】MSP430第十三讲之DMA的应用(2016.04.07)
【MSP430趣谈】系列教程终结篇(04.17)