六月初吴坚鸿发表了《吴坚鸿谈学单片机有前途还是嵌入式系统有前途》一文。后被andy1989转发至博客中,在发烧友中引起了非常大的反响。对于论坛上非常多发烧友的评论。吴坚鸿一一作了答复。吴先生对于每一个发烧友的评论都非常认真的回复了,因此小编整理出来。供很多其它的发烧友们学习!
稍稍啰嗦一下,吴坚鸿的回复能够解决非常多单片机学者的疑问,假设有耐心看完的话,对大家会有极大的帮助的!
”我比較偏爱自己独立开发自己喜欢的东西,这不为赚钱,仅仅是自己个人对电子的爱好、热情!
只是在工作中。个人的力量是有限的,团队合作也非常重要。“英文阅读能力要好”这点非常重要。无论是看參考资料还是软件开发寻求帮助对英语阅读能力都有非常高的要求。
“掌握经常使用的不同厂家单片机,要掌握各种经常使用外围芯片 ,经常使用数字电路,模拟电路。
你要还掌握CPLD,DSP的编程,你要会电路板设计,你英文阅读能力要好,你的学习能力要很好,以上全部的都还不够。你必须有几年以上各种独立的项目开发经验。
”嗯,给我们刚開始学习的人一方向!
非常少有资深的project师谈谈自己的感想的(可能我没找到,有知道的给我推荐下哈...不甚感激),给我们些启示!顶顶... —— (1) 假设你是在校生。除了多动手做实验外,专业基础课要重视。硬着头皮学,能学多少是多少。由于出来社会后就没有那么多时间去学基础课。基础课是最难学。也是最乏味的。
真正搞单片机开发,入门是简单的。
( 2 )假设你如今已经出来社会,那么就直接从 C 语言開始学,会编写简单的程序后,立即找单片机开发的工作。无论工资多少,管吃即可。至于用什么教材。我上个星期在帮朋友找教材的时候,看了网上郭天祥的《十天学会单片机》的视频第一课,感觉学习思路跟我是一致的,所以极力推荐。
本人在此声明
, 假设我是郭天祥的托。天打雷劈,不得好死。我是自由职业者,喜欢电子,一直在外面接不同的开发项目。也有很多公司或者老板想招安我,我都一一谢绝。由于我过贯自由创作的日子。喜欢做不同领域的产品,我也喜欢每一个月搞一两个项目。然后回广西老家跟家人团聚共享美时光。做技术开发我有我的原则,不搞破解别人程序的项目,不搞违法的项目(类似赌博机,给我再多钱我也不干)。
假设志向高些。或者目标长远些,单片机能达到的高度还是有限
但一般这类人学嵌入式之前都会学过单片机 ——一般这类人学嵌入式之前都会学过单片机”这个观点我也认同。我仅仅是认为假设不是工作非常明白的须要,大部分的人学嵌入式都用不到。
“我认为单片机开发是艺术,我做的每个作品都让我充满成就感。”这句话。我也非常喜欢。。。可是我说个样例,如今不是有labview吗?而有的单片机能够进行labview for ARM 嵌入式移植,我想应该能够更加节约时间吧—— 单片机做的事情要尽量简单,速度要尽量快,成本要尽量低,开发周期要尽量短,这个才是单片机的独到之处。 裸机跑的单片机比带操作系统跑的单片机效率要高。带操作系统的单片机实战中用不到。 顶一下……如今在校大二,单片机接触了点,算是入了门,可是感觉如今主要任务是把课程学好,模电数电。自己主动控制原理,信号系统……所以一直没有太深入。可是看到同学都在搞嵌入式了,有点非常慌张……不知道怎么办。由于有几个师兄搞嵌入式出去工作工资七八千,非常羡慕。自己如今单片机没搞好,嵌入式没学,课程任务也越来越重了……搞来搞去却不知道该怎么办了?非常操心方向没确定,以后找不到工作。看了博主文章还是非常有感触的。不好高骛远。认真踏实点。—— 把基础学好。你的思路是对的。 假设还有时间。能够多关注单片机,C语言和英语。 做好了当天的事情之后,就不用恐慌未来。也不要急于成功,成功是靠命运的,非个人的努力能实现。真正成功的人。是相信命运的,相信命运的人,往往能随遇而安,用常识来思考。 可嵌入式有技术含量啊 —— (1)单片机入门感觉快。可是真正去做新项目的时候。往往会遇到非常多书上你遇不到的问题。往往要折腾一段时间,甚至实在找不出路子,就要又一次更换硬件电路。又一次更换芯片。而这些问题一旦被你攻克了。这些就是你的宝贵经验。这些是别人在书上学不到的。要有这么丰富的经验。功力。短期内非常难达到。 (2)是不是仅仅有少数人懂的才叫技术含量?足球,男女老少一看就懂,没技术含量?围棋,两个人静静呆在那里对战几个小时,你我都看不懂的。才叫技呆术含量?球星一个月就赚好几百万,棋王一次顶级比赛的奖金才十多万。这个现实让我深受启示。不知道吴老师是否收徒弟???并且他也是广西的—— 有优点就收。今年刚过春节回到深圳。项目不是非常多的时候,我收了一个东莞的徒弟。 我这个徒弟在东莞是有车有房。还在电子城开了一个柜台。 我就收了他5000元,教两个星期。他天天开车来我这边学。 单片机我学好咯究竟能干嘛呢? —— 如今的社会人工越来越贵。好多的东西都要求智能化,自己主动化。单片机大实用武之地。 学技术的老了怎么办—— (1)学单片机的,是越老越吃香。不是吃青春饭。 (2)大部分的人,在他还没老的时候,就已经开公司了。另一部分是常常接到一些大project。或者接到有量的产品订单。帮别人做PCBA。 我在深圳看到这样人太多,好多都是30岁左右的人。 (3)你真正有本事的话,非常多老板会要求你一起做。给你股份。我就遇到过非常多这种老板。
我是车辆project专业大三的学生,想请教前辈一些问题。我毕业后想去国外留学。可是国外没有汽车专业。所以仅仅能考机械类的硕士。可是机械的东西如今想创新想做出成绩真的非常难。所以想毕业后转向汽车电子方向。 如今大三了,时间还算充足,想毕业前把把电子的基础好好打一打,可是如今我的情况是差点儿不懂电子,本科仅仅浅显的学了电工学 电子学 单片机原理。我如今不知道要学什么,请前辈指点。也请前辈就我的汽车专业给我点建议,谢谢前辈了。 其它同学或是前辈要是有建议,小弟洗耳恭听—— (1)我不建议过多的关注未来。不建议过多地规划未来。 未来不是你能控制的。多享受当下的生活学习比什么都重要。多听听内心如今想做什么,喜欢做什么就做什么。 (2)大部分的创新都来源于生活,有创新灵感的人。往往是那些享受生活的人,好的创新也是服务于生活。 所以远大的理想还不如多关注一下自己如今的生活过得是不是有乐趣,远大的理想还不如如今多陪女朋友逛逛街。远大的理想还不如如今多抽时间回家陪陪父母。 (3)不管你如今学机械还是电子,都不意味着你以后有机会接触机械或者电子,更加不可能精确到你如今学汽车电子,你以后就能做汽车电子方面的研发。这个是命,不是你我所能控制的。
有这些水平后,你就開始找单片机的开发工作。 (2)要打动老板,写简历的时候要多动动脑筋。目的仅仅有一个,让老板相信你能胜任单片机的开发工作。 (3)面试的时候。你要给老板这样一个感觉。单片机就是你的最爱。 (4)第一份工作,薪资多少不用太关注,管吃即可。
如今自己就计划自己先做一些自己感兴趣的东西出来,像光立方(已做过),摇摇棒,旋转led(这两个在找时间和条件)。 由于一直是自学的所以没有非常好地条件去搞项目。不知怎么继续下去?—— 会用protel99画电路板吗?假设不会。赶紧学,这个非常有用。 模拟电路,当中运放那一块,懂不懂?假设不懂,趁如今在学校。硬着头皮多看看这些基础的东西。楼主,我如今在职一年了,从事着没什么技术含量的工作,一直想做研发方面的工作。最好偏硬的。如今想换工作,也想培训一下,不知道楼主有什么意见?—— 推荐看郭天祥的视频。用他的学习板来自学。成本低,能少走弯路。 有点基本功夫之后,赶紧辞掉如今的工作。慢慢找一个须要编写单片机软件的工作,要过开发性质的,而不是售后技术支持或者维护的工作。
由于我发现嵌入式只在图形显示界面方面比单片机有优势,就是相当于电脑比单片机在图线显示方面有优势。所以我简单地把嵌入式看成是电脑编程。 我搞单片机,我搞电子电路,为什么一定要去搞电脑上面的编程? 深练三十年,精炼需一生。—— 不错。 单片机的功夫在单片机之外~~~~~顶啊顶~总结下就是单片机适合单干。嵌入式适合团队,完成! —— 不只如此。嵌入式的业务不会非常多。即使有,预计都是以公司为单位承接的。 而单片机的业务量却非常多,我每一个月都有做不完的项目。 大部分的老板,只要单片机能做的,当然首先是考虑单片机的,由于成本,开发周期,稳定性都比带操作系统的要好。 什么情况下单片机不能做,在彩屏显示等须要复杂界面的情况下。而这个时候,老板还有两个选择,一个是单片机加电脑上位机,另外一个才是嵌入式。而正常情况下。老板会优先考虑第一种方案,其次才是嵌入式加TFT彩屏或者触摸屏。所以,我把搞嵌入式简单等同于搞电脑编程的,其实,搞过嵌入式的,大部分都赞同我的观点。 —— 单片机的成长空间是无限的,我做这行有六年多了。我认为离天花板还非常远。预计我这一辈子都不会满足的。单片机在程序上,你会越做越规范,越做越清晰,越做越模块化。在型号上。有各种各样的厂家,每一个厂家又有各种各样的系列。在外围驱动上,那更加是五花八门。当你做的项目越多。你的资料库会越丰富,就像你往银行里存的钱一样。以后开发的项目速度会越来越快,稳定性越来越可靠。 同一时候你的客户会越来越多。
不够的。。我认为楼主指的嵌入式应该是指嵌入式应用之类的吧。也就是不用懂得硬件方面内容的工作吧!? 楼主的话还是非常有道理的。特别是像我这样从上位机应用软件这边做过来的过来人。越来越深刻的感受到。 这个是中国的悲哀。也不见得做硬件,软硬结合的嵌入式就是比C++更有技术含量。也许在国外做C++的薪水还更高。可是在这悲催的天朝确实是做软件是青春饭。越做越没前途。特别是到了30岁以后都得转型。。。写过这么多程序。始终认为应用软件是最难写的。。可是却又是被人看的低。工资又少,逻辑又复杂,还是最easy被加班。。悲哀,为那些当初存在着程序梦想的苦逼孩纸们感到悲哀。—— 谢谢你的回复。你是眼下回复字数最多的一个,另外。我不知道大家是怎样理解我这句话“单片机的功夫在单片机之外。”搞单片机不纯粹是一个技术工具,还是一个平台,在这个平台上,你会有机会接触各行各业的老板。各行各业的信息。 在这个平台上,你可进可退。进。机会成熟的时候。能够做一些有量的产品。退。能够继续搞项目project。 (对于“ 单片机的功夫在单片机之外 ”的解释)我们学校如今要我们參加嵌入式培训,好像非常有前途的,单片机的经历对学习嵌入式有不少优点吧—— 单片机的经历不但对学习嵌入式当然有帮助,对学习电脑都有帮助。由于这是最底层的东西。即使以后不搞单片机,对我们日常生活都有帮助,帮助你了解各种智能家电的原理。 呵呵。我也是工作多年的经验感慨。之前是做VC开发的,在有名的企业也干过,仅仅是中国做软件的行业太不规范了,青春饭,看着之前公司的那些真正的软件高手30好几了都还啥都没混到还是个光棍,真的是备受打击。。 没办法仅仅能转行。 。 如今也有了些单片机和嵌入式的经验,可是也仅仅是从程序方面去考虑这些项目,确实自己如今还是非常不专业。 前些时间去面试了非常多公司,感觉一般做汽车电子,军工,通信。普通民用产品(比方美的)这类公司可能对单片机要求多点,由于可能考虑成本,实时性,稳定性方面的要求。可是一般做项目型的公司(就是从客户手上拿项目。或者是做特殊产品卖关系户),人家就不要搞单片机的,直接上ARM系统,可以把东西堆出来即可,确实感觉也是像楼主说的那样,这类公司不专业,没前途。由于是做关系客户,做的产品也不够好。可以应付过去即可了。。 。。 可是我如今也还是有个疑惑。。如今也有非常多同事是搞单片机的(51系列)。跟他们聊天。包含网上看到的一些内容,感觉搞这个的也貌似没啥前途。做硬件的3年工作经验的比做软件3年工作经验的拿的钱少多了。我预计应该也是他们走的路线走错了。 像楼主您这样的层次的,说实话我真没见过。也不知道是咋样成长起来的。楼主能介绍些技术成长路线么?详细性的指点下我们这样的想转型的菜鸟。。比方进哪类公司好,做神马行业好,看神马书好,学神马详细技术好....大概要花多长时间的成长期。。 弱弱的问下楼主,进工厂做这个,好么?——谢谢你的关注。 要解除这些疑惑,首先要弄清楚公司的本质。有两种公司,一种是做量的公司。第二种是做设计的公司。 做量的公司,永远都是以市场业务为核心的。在这种公司里名义上是做单片机开发,实际上是做维护或者技术支持。好一点的就是做做产品升级,一年之中能有一个新产品让你开发,就已经非常不错了,在这种环境里,换成谁,谁都认为单片机没前途。
设计类的公司,老板肯定也是这一行的技术牛人。他在开公司的时候就想到了。把你们都培养成技术牛人,假设以后给不了惬意的薪水,你们迟早要自己出来单干。非常纠结。怎么办?铁打的营盘流水的兵。要么就不开公司,要开就要设计好合理的分工制度。
分权才方便管理嘛。 因此把公司分成家电组,工控组。医疗保健组,汽车电子组,安防组,消费玩具组,等等,然后又把技术人员分成软件project师。硬件project师,測试project师。当然。接项目谈价钱等核心肯定还是老板牢牢捉住。编敲代码的时候,公司肯定会要求依照固定的模式来操作。变量命名要统一。每一行代码要有中文凝视等等。不管以后谁来都能接手。 在这种公司里上班,技术会有一定的积累,可是客户资源没有积累。空间还是有限。 综上所述。进公司上班仅仅能是临时的。想一辈子在别人的公司里有作为,是不可能的。
技术成长路线非常easy,就是接项目做,不断地接项目做。在实战中积累经验。丰富你的资料库,积累你的客户资源,积累你的行业口碑。 怎么样才干接到项目?当然是利用互联网来多公布广告,能够在58同城。赶集网,好喇叭。兼职网等站点公布免费的广告。自己也要建一个对外宣传的个人站点。500元左右就能够搞一个。非常划算。
当你的项目越做越多,老客户与相关的朋友就越多,以后这些老客户给你的项目,你都做不完。 我如今基本非常少发广告了,由于非常多熟人会帮我介绍。 找单片机开发的工作难啊,要本科,要几年的工作经验。像我这样刚出大学的专科生情何以堪啊—— 不怕。我就是大专毕业的。毕业于桂林航天工业高等专科学校,如今改名为桂林航天工业学院。我还认识一个在广州搞单片机的绝世高手,他叫林文,中专毕业的,他一年赚几十万,买车买房,老婆小孩都有了,才30多岁。其实。等你接项目做的时候,没有人会关心你的学历,人家仅仅在乎你的技术。我近期找了一个合伙人,他是初中毕业的, 我如今要带他从零開始学。 他非常有学习的欲望。我非常相信他学好单片机一点问题都没有。 我这个初中毕业的合伙人。他之前是在工地做包工头的,如今32岁了。照样从零開始跟我学单片机。
PLC与单片机呢 有什么差别于未来前景 ——PLC内部就是由单片机做成的一个产品,用在工控大型设备上比較多。PLC能做的,单片机都能做,单片机能做的。PLC未必能做。单片机比PLC廉价多了。假设你如今还是在学习阶段,还不能明白未来工作是不是要用到PLC。那么。毫无疑问。学单片机绝对照PLC更加有前途。假设以后工作岗位上要用到。到时候再学PLC,也不会非常难。
楼主你接的项目一般都是什么? ——工控,仪器等项目比較多。曾经还帮别人做过上位机开发,只是近期。我不接上位机开发的项目了。我仅仅做自己最擅长的部分。电子电路,也就是单片机这部分。
前辈 。你是从什么时候開始学习单片机的? 我如今三十岁。学习单片机会不会年纪大了?—— 不会。我的合作伙伴今年32岁。初中毕业,照样从零開始学。江民软件的创始人。38岁才開始学计算机编程,关键看你的学习能力与态度。 我在学校的时候就開始学单片机了,并且当时我是我们专业里单片机最厉害的。
毕业设计的时候,我是为数不多,真正做出实物来的学生。然后一毕业刚好就找到搞单片机开发的工作,我算是比較幸运的。 想想我曾经专业的同学,82个人,眼下仅仅有两个人搞单片机的,一个是我,一个是我的徒弟。 我也有个兄弟在深圳搞单片机,只是好久没联系了。我想哪天我也去深圳玩一玩,拜訪一下吴总你。不介意吧?—— 我没你想象的那么高大,我就是一个自由职业者。称不上吴总。别人都叫我小吴。
我在网上可能比較活跃。平时是比較内向的。大部分时间都是自己关起门来搞电子。假设不是业务关系。你那么热情来拜訪我。我真的是有压力,为了避免你对我的这样的好感“见光死”,你还是别来。我还是要谢谢你那么看得起我。 我们要參加比赛。一放暑假十几个人都跑光了, 我一个女生每天去实验室学单片机,从零開始,前途一片迷茫。
——女生学单片机。非常少,支持一下。
学校来了好几家嵌入式培训机构,鼓吹我们都去学 ——在学校,基础与动手实践是最重要。
对于电子专业来说。假设单片机还没学好,就去学嵌入式。真是不应该。 学什么都一样,最主要是脚踏实地的学,。楼主能推荐点相关的英文资料吗?我认为专业性强一点的英文资料非常欠缺—— 要相关的英文资料干什么?假设是为了单片机而学英语,那么到处都是英文资料。随便下载一些IC的资料来阅读。不懂的就在百度上翻译。我曾经读书的时候,是过了英语四级。出来工作之后,由于要看IC资料。一開始的时候,阅读还是非常吃力,只是我凡是遇到不懂的单词,都会立即在百度上翻译看懂,尽管速度有点慢,有时候看懂一个IC资料,要花三四天时间,可是我坚持下来两三年后,阅读就不成问题了。关键还是要有耐心与坚持。
说的好,想当个体户就学单片机,单片机硬软并重,嵌入偏软件——
。
精辟。 嵌入式事实上就是PC编程,跟电子没什么关系。 是属于两个不同的领域。 搞电子的发展方向不应该是嵌入式。 |
就是怎么样在学校把理论基础的东西学好?我们如今学校开的课好像什么都涉及一点,我们有学过数电、模电、信号与系统、通信原理,下学期要学dsp、图像处理、eda、通信电子线路、电磁波、信息论等等。
。关于这些理论的课程我都须要一一用心地去掌握吗,还是要用到的时候再去学习?上学期一直都在自学tcp/ip(由于当时没找到方向。所以随便先学点东西)。差点儿全部的课都没去上。并且tcp/ip也没学得怎么样。如今打算以后往单片机、硬件这方面发展。专搞硬件有空也自己弄弄程序、软件。
可是听楼主的话还有网上的帖子都有说到要把理论基础打扎实,可是就是不知道怎么走这一步,什么理论应该深入,什么不必深究,这一点我实在非常费解(习惯了逃课自学,课堂上的东西的确难以吸收,我怕像上学期一样逃课结果会什么都学不了,可是专心理论的学习我又会没时间学好单片机)。还有楼主说高数要学好。我高数非常烂。
。不知道要怎么学好高数,project数学这些也算是高数吗,要学到什么程度才干够把单片机和这些理论东西结合起来呢?
思绪有点乱,望楼主能解答一二。
——
(1) 问:就是怎么样在学校把理论基础的东西学好?。关于这些理论的课程我都须要一一用心地去掌握吗?
硬件电路也不是你在学校一下子就行掌握的,要以后在做项目中慢慢积累,慢慢消化。
可是单片机。C语言是战略高地,你仅仅要占据了这个高地。你就有了向外围电路扩展的资本。
你不是说你看过郭天祥的书吗?你也可以看看他网上的《十天学会单片机》的视频,超级经典。我当初就看了他的第一课,他说了一句超级经典的话,顿时让我认为他是单片机教育普及的第一人。大意是,先掌握单片机与C语言。“以后缺什么补什么”。这个双引號里面就是他的原话。
其细致看了chenyao3612和吴坚鸿在《吴坚鸿谈学单片机有前途还是嵌入式系统有前途》一贴中的对话,chenyao3612也是一个十分坚持和有韧劲的电子学习者。他由于看了吴坚鸿的帖子。就讲述了自己学习的一些经历。我相信他的分享可以给非常多电子学者一些启示。非常多时候学习并非一件非常easy的事情,在学习中我们也有迷茫和看不到方向的时候。可是关键在于你是否可以像chenyao3612一样坚持下去。
我一直都相信。人生无论是什么,都是一种学习,仅仅要经历了,就是学习了;学习的话,无论你学什么。你都会进步。你知道了你曾经不知道的东西,这就是一种进步。以下先是chenyao3612的讲述,之后有吴坚鸿的回复。
看了半天。最终从第一页看到了如今。我曾经是学机械的。
毕业了一直打杂。开车床,还不是数控的。
我为什么想学电子。
发现搞机械非常不受人尊重。人人认为机械不就那点东西。(事实上我认为机械比什么都要深奥。仅仅是中国不重视基础,不重视基础材料。
所以永远差日本德国十万八千里)。
再就是如今国内懂电子的基本不懂机械。
懂机械的基本不懂电子。我想会机械又会电子。所以我想学电子。所以我从去看五月份就開始在网上摸索。由于我高中物理学的还比較好。。对基础知识理解还比較清晰。
所以尽管不专业。但总能说出点大概的味道来。
譬如说什么信息传输。除了有线的。基本就是波(分为机械波和光波)。
全部的东西都离不开这个东西。什么測距啊。
什么无线电啊。什么光啊。所以我自认为我的理论还比較清晰。而且和比較喜欢这些基础的原理(尽管不能从专业的角度非常懂。但我能从物理角度有自己的理解)。而且我认为这些东西非常重要。对以后开发项目非常有帮助。
对各种传感器能更好的理解。
这些东西我仅仅能理解但总不知道应该怎么去学电子。
去年我遇到一个贵人,我非常喜欢和他谈这些大道理,基础知道原理。再就是把自己的想法也告诉他。他就问我,你说你想学,你究竟想学什么?
你总不能说什么都想学,你想学硬件还是软件?我说我什么都想学。我想学硬件也想学软件。什么都想学。想学电子想学机械。
想学心理学。
想学管理。他说好吧好吧。无论你以后想学硬件还是软件。你先学单片机吧。你能够先从51单片机学起。 那是去年的五月份。
那说了那样的话给我。
我那时什么叫单片机都不知道。在我心理一直以为硬件就是收音机数模电路。
软件就是电脑。
这是我去年的理解。但我如今回忆学的又可笑,又有点道理。 从他说那些话给后。
那个星期的周末我就去书店买了本21天学通51单片机。由于那书店里计算机类里关于单片机的书真的不多。
。都是些高级的。非常高深的东西。
当时是那么认为。。
如今还是那么认为。
。。
买了那本书后。我那一个月就天天看前面单片机的内部结构。
和后面的中断,计时器。 重点还是单片机结构。再就是看了一点点汇编的操作指令。由于你懂一点点内部结构了再看汇编的指令感觉还算比較好理解。由于中断和计时器。
我认为有理解了。可是那些寄存器太多怎么都记不住啊。所以没看了。再就是中间的C51我一点都没有看。看啊看啊。迷迷糊糊的看。開始一点看不懂。再看第二遍。
再看第三遍。
再看第四遍。一个月后。
最终有点点懂了。
当时仅仅看前面的单片机结构。
和后面的中断,计时器。重点还是单片机结构。
由于中断和计时器。我认为有理解了。
可是那些寄存器太多怎么都记不住啊。
所以没看了。
再就是中间的C51我一点都没有看。(如今才发现,事实上非常个单片机都是不同的。
)。
好吧開始自己动手做程序了。
就想学一门语言啊。。就在网上搜啊搜啊。有说先C的。有说先学汇编的。
由于我认为学东西就要从老东西学起。什么新东西不是老东西抽象来的。
。
所以我选择了汇编。
自己就天天看汇编啊。
。又看了一个月。
全然是看书。
还是没有操作过。
二个月就这么过去了。又開始迷茫了。
就在网上搜啊找啊。最终知道了什么叫ISP,什么叫仿真。什么叫仿真器什么叫开发板。
。
好吧。为了学东西钱算什么。花了两三百买了个开发板和仿真器。电子发烧友电子的。可是还是不能动手。
最多点两个灯。。所以搞来搞去就是会几个跳转。会让P1.0=0//灯亮了。P1.0=1//灯熄了。
一两个跳转还好。。
要是有三四个跳转自己就头都大了。唉,又买了本王爽的汇编语言,天天看,天天看。还跟着在DOS里面操作。妈的,这个东西也太基础了点吧,我认为这么下去不是个办法。再就是发现怎么说的和我曾经在21天学通51单片机里说的有点不同。无论是汇编语言。还是CPU,RAM,ROM结构。 我又開始想了。。后来才搞明确。原来王爽的这本书汇编是X86,我曾经那个是8051.。操。全然两个不同的东西啊。
我是学单片机的。
不是学写QQ应用软件,或者什么驱动的。我如今这点皮毛都没有怎么可能理解那东西。。方向应该错了,立即又停下来了,再不停下来和我曾经看的21天学通51单片机要浑了。头都大了。。。。。。
三四个月又过去了。。。这半年自己还是边在开车床,边在网上搜。什么是单片机。什么是三极管。什么是运放。 转眼到过春节了。什么都不会。
又遇到那个贵人了。
。他问我学的怎么样??
我说学到非常多东西啊。
他说能做什么东西了没?
我说不能。就会点灯。他说你要试着做点复杂的。
。我说好吧。
。但是又不知道怎么下手。
。
。。
但听说做东西的时候会学到非常多东西的。
。我就硬着头皮。但是再硬着头皮也还仅仅是会点个灯而已。
程序循环两下就晕了。。
好吧。
。。我又要開始思考了。
。//*************这里我特点建议在求学的道路上迷茫的人啊,当你们迷茫的时候不能放弃。在学什么东西还是接着学。重点来了,这时就要把自己抽离出来。要把自己当一个局外人。。站在一个非常高的平台想自己的处境。********************// 当时我就把自己抽离出来。又開始想问题了。。
当时就想程序肯定不是这么写出来的。
妈的那么复杂。谁搞的明确啊。就算花结构图也画不明确啊。。
肯定得学门高级语言。别人说高级语言什么结构什么模块的。
应该那样才有头绪。 好吧我又买了本谭浩强的C语言。。妈的,好难看懂啊。。就像高中的教材书一样。。
慢慢看是看的懂。。但懂了又怎么样? 天天算加减乖除那又是个什么意思?
真真假假。假假真真 再就是什么数据什么算法。什么运算符,什么表达式。
。。。这些有什么意义啊。。
这下又迷茫了。
。又在网上查这个查那个。
。他*的。。看到一个广告所以又买了个学习资料。。。
里面有视频。。。说什么从万能板学单片机。。。
又看了一个星期。就学会了在外面接晶振。
。再就是教你怎么下载了他写好的程序。能够有音乐。。。
事实上这些我曾经就会了。。好吧再接着往下学吧。
。
開始讲C51了。。。但是一点听不懂。
。 。
我就翻我电脑里的东西。。
不小心翻出了一个好东西。
。这时就到了2012年7月份。就是前半个月。。。。
原来第一个开发板送的光盘里里有个 郭天祥的十天学会单片机C语言。
。。
。最终原来就是这么简单。
。他讲的我居然都听的懂了。。为什么。
。。
为什么我也不知道为什么。。是他讲的好还是怎么了?确实是他讲的好。
傻子都能看明确。。。但这时我又想了一个问题假设我不是由于前面我看了汇编,我会这么easy看懂了。我想我不能。。。原来WHILE IF FOR就是汇编里抽的JNC JMP等两三个指令组合的。。。这时我豁然开朗了。。。。。 这半个月来。
我看视频十了。
在我看到视频五的时候我辞职了。找了一份非常轻松的工作。在一个电子厂做流水线的事。一天六个小时。
工资非常低。一个月一千块钱。我知道我要的是时间。我要的是接触电子。
我要的学会用烙铁。
我要的是学会认各种基本元器件。拟我什么都无论了。
。
。
。。
由于曾经的机械天天加班没时间学东西。
再说也不是一个行业。
。
再说我认为我自信我已经能自学了。我已经入门了。。。我会敲代码了。。我掌握了LCD1602。 原来一切就是这么回事。
。
。
什么IIC协议(这里说一下。我认为IIC协议非常重要,非常多东西都是IIC协议或者是类似的人为定的协议。就像前面楼主说的那个三个单片机通信的问题。
事实上就是IIC协议的DIY。尽管没有真正的搞懂,也不会。
但我是这么理解的。) 我如今要做的就是学精C语言的语法。学精通51单片机。试着去驱动一些IC。
我如今就在过着这种生活。。
白天上班。。
晚上看周天祥。看C语言基础。,把语法规范。。(这时候看的懂C语言了)。
-------------------------------------------------- 好吧。
我把我摸索的过程在这里和大家分享到这里。。我认为我每一步都走的非常曲折。。可是我认为真是这每一步曲折才让我到如今这个状态。我想要的状态。。我如今对硬件。软件。MCU。windows,嵌入式也有了自己的理解。
。
所以我来发表一下我的两个观点:
1.假设你想真正的学东西,想学精。想学的长远。还是先学汇编再学C。
尽管学汇编有点难。可是你花两个月时间。就像我去年五六月份一样的。了解一下单片机结构和汇编语言。假设你仅仅想玩一玩不求甚解的话就直接学C吧。。
但我警告你学了C再学汇编就会认为非常难非常难了。我不知道为什么。
。
反正网上别人学了C的再学汇编的人都这么说。
。。
说太难了。不要学。。但我当初什么都不会的时候都认为汇编非常easy。。。
仅仅是编不了大程序。。。但会点灯。。。。
想点哪个就点哪个。。。
要谁亮谁就亮。要谁熄谁就熄。
。。。
2.先学单片机不要学嵌入式系统。单片机和嵌入式系统的关系就和汇编与C语言的关系一样的。
。
所以楼主的全部观点我都支持。赞同,顶。可是楼主说不要学汇编我就不能理解了。
那你为什么又要人家学单片机不要学嵌入式呢???
?
在我大脑里。你对知识对真理的看法是矛盾的。
事实上非常多人都非常难入门,入门了就好了。事实上非常多人就陪MCU和CPU的关系都不知道。就连寄存器和存储器的关系都不知道。就连RAM,ROM的差别都不知道。就连I/O口与寄存器的关系都不知道。所以我建议从零的入门步骤是先花一两个月学51单片机内部结构和汇编。
一定是51单片机的结构。和针对51的汇编。由于汇编有非常多种汇编。
单片机有非常多种单片机。会了51.其他基本就会了。
但就是由于大同小异的异。当一点都不懂的人遇到了这些不同的单片机头就会大。就会迷糊。
所以一定是学51单片机的结构。和针对51的汇编。
学到什么程度呢。能点灯即可了。。
不要学的非常精。
。
然后就是周天祥的十天学会单片机C语言。
。。
OK。
。你就到我这个水平了。。。。我的水平就是小学一年级的水平。这半个月来我仅仅会驱动1602CD。
视频里的一些视频由于我是电子发烧友电子电子的开发板。
所以有点不同。试验基本都做不了。。
。但我认为我能做好。
。。由于1602还是被我整会了。。这里还有点建议。。。去学外围的IC的时候什么都是假的就是看IC的手冊。
看时序图。时序图非常关键。
-------------------------------------------------唉。事实上知识原来都非常easy的。就是被人一层层的抽像了。所以我们就认为好难好难了。。从麦克思维方程抽像出元器件。从元器件抽像出数字电路和模拟电路。 数字电路抽象就到CPU了。再抽象就到计算机了。高低电平抽像就到了0101. 0101抽象就到了汇编。。
汇编再抽象就到了各种高级语言。一切都是抽象,一切都是浮云。
。
。。
。
。要轻蔑一切知识。要重视一切知识。非淡泊无已明志,非寂静无已志远。
。楼主非常宁静所以能够志远。可是把钱看的太重。非淡泊,所以无法明志。
楼主教个朋友。希望你能加我QQ290314786.太我学习的道路上指点一下我。。我不会拿一些详细的问题来问你的。
我仅仅是想有时候我有我的一些理解我想问一下你我理解的对不正确。
我不会拿一些详细的问题来问你的。我仅仅是想有时候我有我的一些理解我想问一下你我理解的对不正确。由于这对我非常重要。。
。
再次谢谢。吴工,搞技术的人是相吸的, 先讲到这里。我要拉屎了。
我要吃饭了。 吴工。吴总。吴师傅一定要加我啊。不然我会非常失望非常遗憾的。。。
。。
。
——chenyao3612的观帖感悟
我非常感动,看到你写了那么多东西给我,我细致所有看完了。你这个回复非常有參考意义,会给后面非常多新人启示。你的观点我都认同。由于我们的学习体会都非常相似。你提到“楼主说不要学汇编我就不能理解”,我当初说这句话的时候。仅仅是想告诉大家一个信息,真正做项目的时候还是要用C语言,一旦用了C语言。单片机看起来就没有那么复杂了。你对汇编语言的理解非常不错。我当时在学校的时候。一開始就是专门学X86的汇编,当时我就想,这个东西有什么用。
最后一个学期,才学到单片机,当时就是用汇编来教学的,我那时候还不知道C语言也能够编写单片机的程序。
正由于一開始用汇编教学,我们班里除了我和少数几个人之外,大部分的同学都没有坚持下去。
我们学校的实验室里面的设备,没有仿真器,没有烧录器。仅仅能敲入十六进制的代码。
所以我们做实验的时候。就是先编写汇编程序,然后自己把汇编程序翻译成十六进制代码。然后一个个敲进去实验室的仪器里。我当初就是这样过来的。
后来毕业工作之后,我才知道能够用C语言编写单片机程序。用了C语言之后,一切都So easy!,当然,非常可能就是你说到的原因,由于我已经有了汇编的基础。
我也想破例加你的QQ,可是我也有我的原则。有什么问题能够在我的帖里交流,我们还是做网友吧。
重申一下我的立场,只做网友。
——吴坚鸿的回复
恩。事实上我说的也有点过了。
。
我仅仅是站在我的地方说一些问题。事实上当我成家了。
。我有孩子了。。
我想我应该也会有这些现实问题。无论怎么样。
我能理解你所说的。
。你能够加我QQ吗???由于我自己会理解非常多东西。但我不知道我理解的对不正确。再就是我今后的学习目标。。
我想跟您说一下。您也帮我指导和參考。主要还是长远的。一年两年三年五年。
呵呵,原来高手也是这么来的。。
你一说我们的经历好像哦。可些如今我的水平还是六七年前你水平。
但有点不同的是你还敲过十六进制的代码。
那你和那个60的牛Xproject师一样的啊。你敲的16进制。他敲的是0101.。
也教我敲一下啊。
怎么把HEX文件直接敲进去啊?
——chenyao3612
我会把你当-朋友。可是不要加我QQ。有什么问题直接在我的帖里交流。
那是非常古老的设备了。假设你开发过烧录器。你也能够明确它的原理。
我就开发过AT89S52单片机与SST89E516RD单片机的烧录器,烧录器的原理就是类似于操作一个EERPOM。你仅仅要把这些十六进制的数据存入到有固定地址的程序存储器里面,就完毕了烧录的过程,非常easy。
详细的烧录时序,单片机的芯片的资料上有。当然。也有一些国产的单片机不会公开这些时序,由于它要防别人破解。
——吴坚鸿的回复
好吧。
仅仅要您能指导一下我的学习。在哪里都一样。我如今请教关于关于IIC协议的几个问题。
第一个就是那个第9帧数据的时候是从机自己主动把电平接低是吧?
?
?所以我主机在8帧数据完了我就要把数据线拉好,好检測从机有没把拉低是吧???
第二就是周天祥在视频里面说了一句假设从机过五秒后不应答就默认他已经应答了。这句话我一直不能正确理解。
我自己是这么理解的。从机不应答就说明传输数据错了。可是他说五秒后不应该就默认他已经应该了那是他主机单方面的觉得吧?事实上从机这一字节数据还是没有收到正确吧?
第三就是IIC协议是一种固定的协议。
有固定的格式。但有些IC的时序和那个IIC非常像。但那都不叫IIC协议是吧?就像你说的那三个单片机通信的问题。等于就是你自己为那三个单片机建立一种协议。仅仅是參考IIC或者是模拟?
我这样理解有没有问题
你的意思就是说给单片机烧程序就像单片机通过IIC协议对EERPOM里面写数据一样是吧?我这样理解有问题吗?
——chenyao3612
你问到详细的IIC协议的细节问题。我不能回答你,我也没有那个时间与心思专门为了你这个问题而去查找资料。我要告诉你的是一种思考问题的方式。
通讯仅仅有两种模式,一种是并口方式。一种就是串口方式。你说的IIC,SPI。RS232等等都是串口方式,一个脉冲仅仅能传送一位数据。并口方式就是一个脉冲能传送1个字节(或者很多其它字节)的数据,数据传输更加快。至于IIC,SPI,这些细节时序。假设不是程序调试出了问题非要去查看这些协议,我一般都不理。
我帮别人做项目。一般都是先在网上查找一些有没有现成的C语言驱动程序。找到这些驱动程序之后,然后站在人家的肩膀上做些改动,那就是我的程序了。假设真的找不到这些驱动程序。我才会自己花时间慢慢看IC资料的时序,慢慢调试。
正所谓“攻心为上,攻城为下。”
你的理解基本正确。
不管是用并口还是串口方式来数据传输,都是一样,关键是要把数据放到相应的“房间”里,就完毕烧录的过程。
——吴坚鸿的回复
是啊。这点我也没搞明确。
人家说IC的驱动程序。是不是就是说写好的时序子函数。
我们拿过来了。仅仅要往函数里面赋值或者做个表格即可了
——chenyao3612
是的。对于单片机的外围芯片,假设能找到现成的驱动程序是最好。假设没有就要自己依据IC资料来写。我要睡觉了。今晚先聊到这,近期我的项目太多,有三个项目客户等着我交货。本来还想今晚加加班搞,可是跟你聊得太投入了,仅仅能明天再弄。晚安。
回答你第三个问题。三个单片机通讯,能够用RS232这些固定时序(或者IIC,SPI),这些固定时序能够不变,可是在这些时序上面传送的数据,每一个数据的含义你能够自己来定义。哪个单片机做主机,哪个单片机做从机,从机收到哪些数据,然会返回什么数据,这些都是你能够定的。可是载体的RS232协议(标准时序)不用你来变。
把钱看得非常淡一些。你说得非常洒脱。
等你每一个月要上缴几千元的时候,你就不会那样说了,哈哈。有空再聊,
我真的睡觉去了。晚安。
——吴坚鸿的回复
唉,谁不喜欢钱。只是我们搞技术的要装的清高一点。那样才显得额外的牛B。就像周天祥说他大学从来不上课的。
读研也从不上班。
在吴工这里能学到非常多大的方向啊。。
实在谢谢了。你的每段话都对我非常有启示作用。
真心的谢谢
——chenyao3612
在吴坚鸿这一系列的博文中。我已经说过非常多次了。假设大家正在学习单片机,或者正准备学习单片机。能够去吴坚鸿的这个帖子中给他留言。有什么问题能够虽然向他请教。我个人是非常崇拜他的,并且他对于网友的问题都非常热心。