从单片机初学者迈向单片机工程师前传----写给初学者的话

power_mcu 2012-12-15 01:16:49
加精
学习和使用单片机也已经好几年了,藉此机会和大家聊一下我学习过程中的一些经历和想法吧。希望大家有什么好的想法和建议都直接跟帖说出来。毕竟只有交流才能够碰撞出火花来^_^。

好几年前,和众多初学者一样,我接触到了单片机,立刻被其神奇的功能所吸引,从此不能自拔。很多个日夜就这样陪伴着它度过了。期间也遇到过非常多的问题,也一度被这些问题所困惑……等到回过头来,看到自己曾经走过的路,唏嘘不已。经常混迹于论坛里,也看到了很多初学者发的求助帖子,看到他们走在自己曾走过的弯路上,忽然想到了自己的那段日子,心里竟然莫名的冲动,凡此总总,我总是尽自己所能去回帖。很多时候,都想写一点什么东西出来,希望对广大的初学者有一点点帮助。但总是不知从何处写起。也许有时候想表达的东西太多,反而不知道该如何下笔。索性便想到哪就写到哪吧。“卖弄”也好,“吹嘘”也罢,我只是想认真的写写我这一路走来历经的总总,把其中值得注意,以及经验的地方写出来,权当是我对自己的一个总结吧。而作为看官的你,如果看到了我的错误,还请一定指正,这样对我以及其它读者都有帮助,而至于你如果从中能够收获到些许,那便是我最大的欣慰了。如果有啥好的想法和建议一定要说出来。

一路学习过来的过程中,帮助最大之一无疑来自于网络了。很多时候,通过网络,我们都可以获取到所需要的学习资料。但是,随着我们学习的深入,我们会慢慢发现,网络提供的东西是有限度的,好像大部分的资料都差不多,或者说是适合大部分的初学者所需,而当我们想更进一步提高时,却发现能够获取到的资料越来越少,相信各位也会有同感,铺天盖地的单片机资料中大部分不是流水灯就是LED,液晶,而且也只是仅仅作功能性的演示。于是有些人选择了放弃,或者是转移到其他兴趣上面去了,而只有少部分人选择了继续摸索下去,结合市面上的书籍,然后在网络上锲而不舍的搜集资料,再从牛人的只言片语中去体会,不断动手实践,慢慢的,也摸索出来了自己的一条路子。当然这个过程必然是艰辛的,而他学会了之后也不会在网络上轻易分享自己的学习成果。如此恶性循环下去,也就不难理解为什么初级的学习资料满天飞,而深入一点的学习资料却很少的原因了。相较于其他领域,单片机技术的封锁更加容易。尽管已经问世了很多年了,有价值的资料还是相当的欠缺,大部分的资料都是止于入门阶段或者是简单的演示实验。但是在实际工程应用中却是另外一回事。有能力的高手无暇或者是不愿公开自己的学习经验。

很多时候,我也很困惑,看到国外爱好者毫不保留的在网络上发布自己的作品,我忽然感觉到一丝丝的悲哀。也许,我们真的该转变一下思路了,帮助别人,其实也是在帮助自己。啰啰嗦嗦的说了这么多,相信大家能够明白说的是什么意思。在接下来的一段日子里,我将尽可能结合自己学习工作中的一些经历写一点自己的想法。尽可能从实用的角度去讲述。希望能够帮助更多的初学者更上一层楼。这一系列文章冠以“从单片机初学者迈向单片机工程师”为名。名字挺大挺响亮,给我的压力也挺大的,但我会努力,争取使这样的一系列文章能够带给大家一点帮助,而不是看后大跌眼镜。这样的一系列文章主要的对象是初学者,以及想从初学者更进一步提高的读者。而至于老手,以及那些牛XX的人,希望能够不吝分享工作中的经验与教训,给予初学者更多的一些帮助与指点~@_@~.

...全文
11827 99 打赏 收藏 转发到动态 举报
写回复
用AI写文章
99 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
cxds 2013-08-03
  • 打赏
  • 举报
回复
学习了 好文章
  • 打赏
  • 举报
回复
现在单片机发展还行吗?
dongshuangrui10 2013-07-05
  • 打赏
  • 举报
回复
nichengbitian 2013-05-19
  • 打赏
  • 举报
回复
引用 55 楼 junht 的回复:
个人发表点拙建: 首先,支持楼主的可贵精神,然后非常认同30楼那位朋友的回答。正如很多从事嵌入式开发的朋友,我也是从单片机过来的,从最开始的51到ARM,然后到POWERPC,可以说是一个循序渐进的过程。对于楼主的问题,我想说的是:师傅领进门,修行靠个人。这是千年不变的真理。正如学画画,老师不能叫你画画的意境,这得你自己去领会。可能你认为流水灯什么的太肤浅,但是这里面涉及到了几乎所有工程应用中都会用到的东西,例如对GPIO的控制,GPIO模拟某种接口等等。从单片机的角度,无外乎是出于一种或多种目的,控制一些外设,在合适的时候完成特定的功能,组成这个功能的就是“语言”,“逻辑算法”,以及“外设”。为什么网络上没有所谓的深入的文章?应用千变万化,就拿GPIO来说,可以用来控制LED,控制蜂鸣器,模拟SPI或IIC,模拟并口操作显示器,你不能指望每种方法都有人为你量身定做。能教你的只有基础法方法,怎么去初始化IO,怎么输入,输出,剩下的就是对外设的操作了,这已经不属于单片机的范畴,你应当将注意力集中在外设上,如RTC,怎么去控制它了?相信网上有很多此类资料,芯片厂商甚至也会提供示例代码。 综上所诉,真理只有一个:明白怎样去做,才有做成功的可能。包括所有初学者,学习的应该是方法,而不是结果。作为一个工程师,你应当学会怎样去查找资料,怎样去消化资料,怎样去转化资料。世上不是所有的东西都是现成的。 结束的时候,再谈一谈另外一个问题,单片机是很简单的东西,简单到只有很少的外设和寄存器,靠汇编就能很好的完成它的大部分功能。这就出现一种现象,各家程序各不同,你找不到什么通用的库。这也可能是很多初学者认为没多少深入的资料的原因。但是当你踏入操作系统领域的时候,可能反而会嫌资料太多了。就拿LINUX来讲,只要你是一名合格的linux程序员,那么你使用并且开发的程序都是按照Linux架构来实现的,这在可移植性以及开放性上有着显著的目的。还是用led驱动来说明,实现这个驱动的方法万千,只要会操作寄存器,那么就可以实现该驱动,简单的操作寄存器的方法不是一个好的方法,一旦有了操作系统,就多了很多中间层,我们应当学会利用它来操作寄存器,这样对底层很多东西都是同样的操作方法(这儿最重要的是跨平台,对arm,mips,ppc在上除平台相关层外大多数是一致的)。这意味着,只要学会一种操作方法,那么对另外几种甚至更多的外设操作都是一致的。这点对初学者可能不是很好理解,当然一旦当你接触到操作系统,会很快明白过来的。 最后对楼主的无私精神表示赞同和支持。
感觉上面说的不错能看出哥们软硬件功底都不错,是我努力的对象 我是机械专业但是大学全交给了嵌入式,每天早上带着笔记本去图书馆然后晚上回来,包括周末假期从不间断,自学了C C++ windows程序设计 VC 51 汇编语言 微机原理 数据结构,数电模电 计算机组成原理等等 现在正在学习ARM和linux 感觉以前走了不少弯路 也许有些东西对嵌入式没啥联系 也纠结过 苦恼过 可能你们不能体会到机械专业学习嵌入式的不易,,带着兴趣学了好多东西 我也知道都不是很精 所以想以后集中学习linux 和ARM 我打算以后在嵌入式驱动开发上下功夫 作为未来的就业方向。但现在又遇到了让我纠结的事 马上该考研了 是否考研? 是否跨专业考研 ?要是考不上是不是浪费一年时间?不知道找工作时研究生和本科生到底差别多大?不知道听说这方面门槛很高 大多都需要研究生 我也不知道我这个机械专业的垃圾二本生会不会受到歧视,从小到大我都是一个很努力的人 每个周末都是宿舍兄弟们还在睡觉我就匆忙爬起来去图书馆敲代码!现在已经把自己的专业课全逃了,我也希望能有一个有经验的人给我一些指导我该咋办
蛮傻 2013-04-05
  • 打赏
  • 举报
回复
多谢楼主了!!!!初学者表示感激不尽
deng8877 2013-03-04
  • 打赏
  • 举报
回复
引用 45 楼 xjh09101 的回复:
哎 说起单片机就让我忧伤啊 大学学了两三年的单片机 嵌入式 毕业了竟然很少公司招人 嵌入式招人也要研究生,有些虽然是嵌入式确是应用开发,最后只找了个 c/c++的开发。。。
不是吧?嵌入式招人只要研究生? 我还打算放弃考研,准备下半年的找工作了。
xzwxfy 2013-02-10
  • 打赏
  • 举报
回复
说的好,一针见血。
custom 2013-01-29
  • 打赏
  • 举报
回复
算起来我学了20年还没入门,从最早Z80到8031,89c,89S到AVR M8,M16。。。。。从背汇编指令到用C一直处于半入门状态!!!!!!!!!!!!
wen头 2013-01-05
  • 打赏
  • 举报
回复
嵌入式学员迷茫者路过
  • 打赏
  • 举报
回复
支持楼主,原本打算学单片机的,学历太低,转行Java然后.Net了
勇zhe无wei 2013-01-04
  • 打赏
  • 举报
回复
我现在也做单片机学习,希望楼主给建议!
weilaiqing 2013-01-04
  • 打赏
  • 举报
回复
引用 84 楼 power_mcu 的回复:
引用 83 楼 weilaiqing 的回复:楼主,该更了 更了一章啦。
还以为在这个帖子后面继续更新了。 原来是另外开贴了啊
wzb56 2013-01-03
  • 打赏
  • 举报
回复
power_mcu 2013-01-03
  • 打赏
  • 举报
回复
引用 83 楼 weilaiqing 的回复:
楼主,该更了
更了一章啦。
weilaiqing 2013-01-03
  • 打赏
  • 举报
回复
楼主,该更了
lysforwin 2013-01-02
  • 打赏
  • 举报
回复
顶一下,看看楼主的大作。
面试精华 2013-01-02
  • 打赏
  • 举报
回复
qianyinggaozhong 2013-01-01
  • 打赏
  • 举报
回复
虽然我不是很聪明啊,但是凭着一枪的热情,我打算走下去啊,呵呵!
power_mcu 2012-12-31
  • 打赏
  • 举报
回复
引用 76 楼 NETWILLIAM 的回复:
这个,还真不是原创的.... 原创是eehome的,有人转载到阿莫电子论坛上面去了,我在那个上面看到过,现在给出阿莫电子论坛的这篇文章的网址 http://www.amobbs.com/forum.php?mod=viewthread&tid=3985870 这上面大概可以找到原文网址,论坛上面有写的 哎..大家都在说,要怎么怎么尊重知识产权,但是还是自己拿着别人的文章假冒原创,何……
eehome上面就是当年我还在学校时候发的。amobbs上面是别人转过去的。现在准备写的是二版,有些地方有变动。
加载更多回复(76)
内容概要:本文档系统性地介绍了2024年最新提出的两种智能优化算法——青蒿素优化算法与霜冰优化算法(RIME)的原理、实现方法及其性能对比分析,并提供了完整的Matlab代码实现。文档不仅聚焦于核心算法的仿真与验证,还整合了大量前沿科研资源,涵盖微电网优化、风电功率预测、无人机三维路径规划、电动汽车调度、图像融合、负荷预测、通信信号处理、电力系统故障恢复等多个高价值应用场景。所有案例均基于Matlab/Simulink平台进行建模与仿真,强调算法在复杂工程系统中的实际应用能力,旨在为科研人员提供一套从理论到代码再到应用的完整复现体系。; 适合人群:具备一定编程基础和科研背景的研究生、高校教师及工程技术人员,尤其适合从事智能优化算法研究、新能源系统优化、自动化控制、电力系统调度、无人机导航与路径规划等相关领域的研究人员。; 使用场景及目标:①用于高水平学术论文的复现与创新性研究,提升科研效率与成果产出;②应用于复杂工程系统的建模仿真与智能优化设计,如多能互补系统调度、无人机避障路径规划、微电网能量管理等;③作为智能优化算法的教学与学习资料,深入理解现代元启发式算法的设计思想与实现机制。; 阅读建议:建议读者结合文档中提供的Matlab代码与Simulink仿真模型,按照目录结构循序渐进地学习与实践,优先选择与自身研究方向契合的案例进行代码复现,重点关注算法参数设置、收敛曲线分析与多算法对比实验部分,以全面提升算法应用与科研创新能力。

1,076

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧