查看: 2176|回复: 1

乱谈如何开始学习嵌入式开发

[复制链接]
  • TA的每日心情
    奋斗
    2014-3-12 08:24
  • 签到天数: 16 天

    连续签到: 1 天

    [LV.4]偶尔看看III

    发表于 2013-9-8 01:54:22 | 显示全部楼层 |阅读模式
    分享到:
    什么是嵌入式

    首先,先来聊聊嵌入式这个概念。什么是嵌入式,有人说ARM才是嵌入式,
    Linux才是嵌入式,而且现在大大小小的培训班讲的都是基本上都是Linux。
    现在Android,苹果比较流行,有些培训班也开讲这些系统上面的应用程序开发了,说这才是嵌入式。说下我个人的看法吧,我觉的嵌入式,就是相对于PC来说的,所有的小型控制设备都能称得上是嵌入式设备。Linux和Android上的应用程序开发已经算得上是PC级别的开发,个人感觉离嵌入式已经很远了。

    选择什么单片机开始学习

    有人说ARM才是嵌入式,51是单片机,不算嵌入式。这些话估计是从卖ARM开发板的商家那里传出来的。51、ARM都是嵌入式,51是8位的单片机,ARM是32位的单片机(当然,这里针对ARM7或Cortex-M3说的,像ARM9,ARM11就不应该称作单片机)。51结构比较简单,ARM复杂一些,但原理是都是相通的。学好51单片机,再去学习ARM,会非常简单的。

    看完上面的话,你会不会说:“JS,快别说了,因为你是做51学习板的,你才这么说,你要是做ARM开发板,你就不这么说了”。非也!非也!你说的因果反了,我先这么认为的,所以先做的是51学习板。
    我们举两个例子来简单比较一下:
    先说最简单的GPIO,51单片里有GPIO,可以用来基本的输入、输出。ARM上也是GPIO做最基本的输入输出。51上的GPIO怎么用呢?我们就是简单的向SFR里写0或写1就可以了。ARM呢,也是一样的,向相应的SFR里写0或写1就行了。只是在用GPIO之前,需要对这个GPIO进行配置一下,什么是配置,说白了,就是多写几个SFR。
    再来看一下UART,这个是51的标配,ARM上也都有UART。操作式有什么不同?基本的配置、读写都一样,轮询操作也行,中断操作也行。就是ARM上的要复杂一些,配置的参数也多一些。但本质都是一样的。
    再有的差别就是,ARM上的外设要多一些,51上的少一些。但入门之后,外设的学习就和UART的学习一样,是个试验和积累的过程。

    8051单片机经过多年的发展,资料非常齐全、内部结构简单,价格也相对便宜。在你的身边也很容易找到熟悉51单片机的人。所以非常适合初学者的学习。我们建议刚开始学单片机的童鞋从51单片机学起。如果把51单片机学好了,你的C语言同时也学好了(注意,这点很重要),硬件基础也学好了,开发的流程和方法会了、解决问题的方法也积累了一些。这个时候再来学习更高级的ARM,就简单的多了。

    怎样学习

    学习单片机是非常重视动手实践的,不能总是看书、看视频 ,在那里死记理论。但也不能完全不看书(不推荐完全看视频,视频虽然信息量比较大,看起来也比较容易接受,但无用的信息也比较多,同时也会减少我们思考的时间,而且反复的看视频本身也浪费时间)。我们建议应该遵循的方法是,在实践中入门,再让理论指导更深层次的实践,在实践中再成长,再学习更高级的理论,如此形成一个良性的循环。
    先了解简单的理论,能开始动手就可以了。在实践的过程中遇到问题再看书查找(注意,不是找视频,视频查找起来太费劲了)把更多的时间放到实践中去,这才是关键的。

    关于实践

    关于实践,我斗胆说两点建议和一点不建议。
    先说不建议,我们不建议直接使用仿真软件来学习。这不并不是说我们不支持使用Proteus等仿真软件,这类软件在一定程度上可以帮助我们学习,可以做最基本的程序验证,但如果过度依赖它,我们失去的将是对硬件的调试机会。只有把硬件摆在你面前,亲自操作它,才会有更深刻的体验。
    两个建议
    1 搞一块开发板,不用功能特别的复杂,只要基本的东西:流水灯、数据码管、独立键盘、矩阵键盘、A/D、D/A、液晶、I2C总线,SPI总线就差不多了。如果能把上面这些功能都搞熟,那么就已经迈进单片机的大门了,可以向更高的阵地进军了。
    2 找一个单片机不错的朋友(我可以当这个角色的哟,欢迎和我联系),有遇到困难的地方,他可以帮你即时解决,帮你少走弯路。助你快速入门。
    再一个,使用语言的问题,一定一定一定选择用C语言开始学习。你可能需要一本C语言教程,但是一定一定一定不要一口气把它读下来,就是读5个一口气,也是没用的。一本教程在手,随时参考。我们推荐谭浩强老师的《C程序设计》,第二版、第三版都行。强烈建议开发者案头常备此书。
    总结上面,只要你有信心,做事坚持到底。学会单片机是件挺容易的事儿。这里给个大概的步骤:
    1 看书先了解一下单片机,大概了解就可以了。
    2 跟着教程学习写程序。经历读程序 > 理解程序 > 动手改程序 > 自己写程序的过程
    到这里你已经入门了。。再往后就是进阶的内容了。
    1 把程序打造成独立的模块任你调用
    2 跟着老师做项目,熟悉真正的项目开发过程。(没有项目也不用怕,条件成熟的时候我们会组织大家一起开发一些小项目)
    乱侃了一些内容,请大家拍砖。。。
    回复

    使用道具 举报

  • TA的每日心情
    擦汗
    2014-3-13 20:28
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    发表于 2014-3-13 21:50:57 | 显示全部楼层
    顶一个  要做毕业设计了  题目是温室大棚温湿度控制系统
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /4 下一条



    手机版|小黑屋|与非网

    GMT+8, 2024-11-15 11:50 , Processed in 0.115765 second(s), 17 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.