《周立功单片机学习心得.doc》由会员分享,可在线阅读,更多相关《周立功单片机学习心得.doc(15页珍藏版)》请在金锄头文库上搜索。
1、答博友问:如何兼顾学习ARM与FPGA!对于初学者来说,要学的知识点很多,到底从哪里下手,人们常常感到非常迷茫。大一学生先从C语言开始入门,在大一阶段由于对计算机还非常陌生,因此不可能写出一个具有完整图形界面的软件,重点以“与硬件无关的计算方法、数据结构”为基础学习C语言,至少练习编写一万行C代码,否则不会找到编程的感觉,也体会不到编程乐趣,很多人就是因为缺乏一定量的训练,所以对编程没有兴趣,以至于未到毕业时就全部忘记了,程序设计是一项实践性很强的实践活动,没有大量的实践作为基础是很难入门的,因此我认为编写一万行代码是判定是否入门的依据。请初学者记住:当你编写了一万行代码时,这是你能够从事专业
2、的开始,否则你不要期望在这个领域混下去。与此同时,C语言也是学习和使用Verilog的重要基础,所以千万不可小视C语言。更重要的是,如果你的C语言不好的话,你将来就业选择的路子就会受到很大的限制,要么只能做硬件工程师、销售工程师或者转行,别无选择! 有了一万行编程的经验后,大二接着开始学习数字电路和模拟电路了,这是你的机会!将来的开发工作有几种选择,但这两门都很重要,学好了你有可能成为顶尖的高手、专家和系统级水平的人才,即便学得不太好,你也有可能成为一个优秀的工程师。前一篇博文讲了,如果你精通了C/C+,即便你的硬件水平一般,你也可以成为一个优秀的开发工程师,即由硬件工程师负责逻辑电路和模拟电
3、路的设计,由你来编程你可以编写基于WinCE、Linux、Vxworks或者Windows等操作系统的程序。那么怎样才算基本上“精通”呢?至少编写五万行代码,当你已经编写了10万行代码时,可以说你已经完全精通了,这个时候你如果有很大的造化的话,那完全取决于你当初学习的基础是否牢固了。所以我在前面提到了,精通一门可以成为优秀的开发工程师,但绝对不可能成为系统级的开发工程师,因为你的知识结构不行。 最好在学习数字电路时购买一个99元的EasyFPGA030开发学习板,这个板子是我们开发的,但这个价格是没有利润的,不要认为我是在做推销,我们推出这个产品完全是针对大二学生的,希望有更多的大二学生提早醒
4、悟,能够在学习数字电路时同步学习FPGA和Verilog,强化课程之间的关联。笔者虽然是一个企业家,但也有一份爱心和社会责任感,为社会做出自己的贡献同样也是企业家的“销售业绩”,我们为这个开发板撰写了30万字的配套资料和适合各种水平的范例,也投入了大量的精力录制Verilog语言视频讲座,这些都是超值和免费的。与此同时从2009年开始着手针对大二和大三学生举办FPGA大赛,以提高在校大学生的兴趣,让那些觉悟者进一步提高自信心,找到自己未来的坐标。学好数字电路和模拟电路以及FPGA应用技术,除了成为电子产品开发工程师之外(高附加值的嵌入式系统产品几乎离不开FPGA),还有一个就业方向就是号称“金
5、饭碗”的集成电路设计。 作为初学者,在学习电子技术基础(数字部分)时同步学习FPGA与Verilog技术的重点是快速入门和打下一定的基础,根据配套的教材和数字电路教材的内容将基本的数字电路用FPGA实现即可,这是本阶段的学习目标,不要将学习高深难度的应用技术作为重点。并利用课余和暑假期间的空余时间,将一些图书上现成的使用数字电路实现的例子用FPGA来完成设计即可,比方如何使用FPGA 实现一个计数器,并动手做出来。到大三阶段在做出选择,到底是选择成为一个专业的FPGA应用设计工程师、还是嵌入式系统与FPGA混合应用系统设计工程师或集成电路开发工程师,以自己的兴趣和志向为基础而定,所以在学习嵌入
6、式系统技术的同时学习FPGA,两者之间并不矛盾。 最好在大一开始学习单片机,这就是笔者为何撰写新编电类专业计算机基础这本图书的原因(详见破解电类专业“就业难、人才荒”的解决方案!(4)。因为大一不学习单片机,后面的课程都没有办法学好。对于大一学习单片机,很多老师不去用心研究学习方法和教学规律,反而搬出一大堆理由来“吓唬”人。笔者当年仅仅是一个技校生,在完全没有指导老师的情况下,也找不到可以参考的技术资料,只是凭着偶尔看到一篇报道罗伯特设计的Altair 8800计算机就做出了一台不需要工作软件的计算机(改进型的Altair-80C31电路详见新编电类专业计算机基础教材)。要相信现在公开的信息、
7、资讯条件、人们的聪明智慧与教师的力量,因此大学本科生在大一阶段学会单片机是非常容易的一件事情。有了单片机基础之后,在大二阶段学习数字电路与模拟电路的同时,结合单片机学习接口扩展技术与模拟前向通道数据采集技术,并编写相应的程序实现一个一个的小系统设计,大三时根本不再需要学习所谓的接口技术与微机原理了。针对数字电路与模拟电路笔者准备写作一套小系统设计与制作配套图书,将前后之间的课程也同步和关联起来,期望进一步提高大学生的动手能力。 有了大一、二阶段强化训练,后续的很多课程度可以理论与实践并重地学习,比方目前大学开设的自动控制理论几乎都是空对空地教学与联系,如果结合自动控制理论的教学,让学生学习设计
8、一个自动穿越迷宫的电脑鼠,并举办相应的大赛,则能够很好地将嵌入式系统应用技术、数字电路与模拟电路、计算方法与数据结构、机构设计.相关课程有机地结合起来,学生的兴趣将大大地得到提高。 当学生有了学习的兴趣和动力之后,教学势必由老师个人在课堂上演“独角戏”的场面转变为研讨会,学生也一定会竭尽全力由被动学习向主动学习转变,这就是教育要达到的目标,所以我们不能一味地指责学生不好学。作为老师我们一定要思考和拿出行动,让学生喜欢并愿意向您学习。事实上学生的未来完全取决于老师的引导,现在教师队伍存在的很大毛病就是将责任推向扩招和学生不好好学,扩招有没有问题?当然有,但作为教师我们做得怎么样呢?我们是否在教学
9、上做出了巨大的努力,这需要我们扪心自问。 学生不好好学,这也是事实!但也是表象,我们要思考他们为什么不好好学习?我们应该怎样才能让他们好好地学?作为老师,第一不能给学生划定考试范围,第二学生缺课要坚决扣分,如果做到这两点基本的要求,学生不好好学就制度处理,我想效果会有很大的改变。当然就业难的责任也不能完全推给老师,但老师们应该做到自己该做到的,因为家长都希望老师们对他们的子女严格要求,更迫切的需求就是让他们的子女学到真本事,他们肯定支持教师的行动。 进入大三阶段则需要有选择地重点学习嵌入式操作系统原理与编程、嵌入式系统与FPGA的混合系统设计或者全力以赴钻研FPGA应用技术等技术方向,大四阶段
10、就可以真刀真枪地完成一个漂亮的毕业设计,并能够写出一篇比硕士水平还要高的论文。3年前精通C/C+同样能找到一份非常好的工作!电类专业大学生都学过C或C+,但没有引起大家的重视。电类专业毕业生要想有一份高薪水的工作,从事与嵌入式系统应用技术有关的开发工作是首选。 软硬通吃当然是高手,但事实上只要你精通C/C+,哪怕其它课程完全按部就班地学一遍,等到毕业时要找一份好工作也是非常容易的。精通C/C+的同学的就业方向主要有基于X86计算机的驱动程序开发工程师、WinCE、Linux与软件开发工程师等职位。到了大四时,很多同学都希望毕业后能够从事WinCE、Linux方向的嵌入式软件开发工作,不要说对C
11、+不熟练,而且对C程序设计也未必达到入门级的水平,这样的基础从何下手呢?所以在校大学生不论你目前处于那个年纪,如果你对C语言还不精通,请立即行动起来投入到程序的设计当中去。 对于刚跨入大一的学生来说,如果你所在的大学还未开发C语言,请马上购书、上机实践自学程序设计,否则等到你明白的时候就已经太晚了。就算你在大学四年阶段“瞎混”,但只要你每天使用C/C+写程序,四年之后你一定会成长为高手,难道你还愁没有好工作吗? 下面将给大家介绍一本C+程序设计教程(第二版,作者钱能,清华大学出版社)好书,笔者在春节前后三个月的时间里仔细通读了这本教材,本书分为四大部分,分别为基础部分(概述、基本编程语句、数据
12、类型和计算表达)、过程化编程(函数机制、性能和程序结构)、面向对象编程技术(类、对象生灭、继承和基于对象编程)和高级编程(多态、抽象类、模版和异常)。可以选择其中的第一、二部分作为C程序设计教学的内容,第三、四部分作为C+程序设计的教学内容,第一、二部分和第三、四部分分别可以作为一个学期约64个理论实践课时的教学,其中上机实践可占到24学时,如果有条件的话,可以增加更多的上机实践时间。 建议有志成才的同学自发地组织C/C+程序设计课外兴趣小组,然后在此基础上再发展WinCE、Linux兴趣小组,按照笔者前面已经发表的文章中的办法开展学生社团活动,强化动手能力和进行创新实践。 为了培养创新性嵌入
13、式系统应用软件开发人才,笔者花费了大量的时间研究各种各样的C/C+教材,虽然我与本书的作者素未谋面,但在与作者往来信件中,我们在创新教育实践思想上有很多共同的理念和异曲同工之处,所以说我对作者是了解的,特此推荐。与此同时我们已决定将此书作为2009级江西理工大学机电学院自动化专业创新实验班大一第一、二学期C/C+程序设计的教材,为学生未来从事软件开发打下一个坚实的基础。 (拜托各位朋友,请您帮助我将此博客的文章向大一学生传递,希望能够唤醒更多的学生投身于创新教育实践活动)3年前大学生你是否尽了最艰苦的努力? 1981年我参加高考失败之后上了技校,但我还是不甘心将来当一辈子工人。幸好当时正值改革
14、开放的好时机,举国上下莫不崇尚知识,百废待兴各行各业大量需要人才,自学成才的典范层出不穷,于是我决定自学成才,制定了一个自学十年成为专业人才的学习计划。 我首先从高等数学开始入手,购买一套完整的高等数学自学丛书,分别为一元函数微分学、一元函数积分学、多元函数微积分、微分几何、线性代数.同步学习李翰逊教授主编的电路分析基础、童师白教授主编的模拟电子技术与阎石教授主编的数字电子技术基础,还订阅了无线电与电子技术应用杂志。自学是一个艰苦的过程,我生活在一个小地方,找到一个能够帮助你解决难题的老师非常不容易,但有一个好处就是锻炼了我独立解决问题的能力。在毫无约束的情况下的自学是非常艰难的,尽管每走一步
15、我都将图书带在身边,但并不见得能够坚持随时随地抓紧学习,每周自我反省的时候,总是自我批评懊悔不已,但效果并不见得有明显的好转,因为目标并不明确,唯一的愿望是希望能够转干,将来有一天调到技术科或设备科做一个技术员,而在当时做一个技术员与当一名优秀的技工待遇差别不大,仅仅是社会地位稍微高一些,而在参加工作的第二年18岁的年纪时,我已经是一个国家二级企业的团委书记了,从而导致很难产生强烈的求知欲和持久的兴趣。 那么怎样才能产生强劲的动力呢?我首先想到的是励志,正好有一个机会旁听中国农村人才学研讨会,于是决定从人才学入手研究成才的方法,探索卓越人才在童年和青年时代到底有哪些优秀的品质和特征,他们之能够
16、所以走向成功,到底有何秘诀?当时唯一能够买到的只有诺贝尔奖获得者传记,通过横向比较研究发现,他们共同的特点都是很勤奋并且坚持终生学习。其次我给自己划定范围坚持广泛阅读优秀的文学作品、人物传记、美学、哲学、心理学、历史和管理学等方面的图书,至少保持每天的阅读量为2小时并且坚持到现在从未间断,让自己的思想与时俱进不断得到升华。将成功人士的做法用于工作和生活之中并对照检查,不断改掉自己的陋习,比如我从小就喝酒,以至于酒量很大,常常因此而影响不能完成每天的学习任务,于是我下定决心诫酒。 那么如何保持学习的兴趣呢?动手制作电子装置。我力争将书上的每一个电路都用电路板做出来,没有钱怎么办?节省早餐费用于购买次品元器件,没有双面板怎