24小时热门版块排行榜    

CyRhmU.jpeg
查看: 1348  |  回复: 16
当前主题已经存档。
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

beinifaxian

金虫 (著名写手)

日易者

[交流] 【求助】我想学编程,该从哪里开始?

想学编程是因为觉得嵌入式开发很有前途,有点C语言基础,该学些什么?怎么才能学得更好呢?
     和网友聊天他建议我去学网络编程,我说我在看汇编语言学基础知识,他叫我别学了?汇编现在没用了吗?
     希望得到虫虫们的指点.
     邮箱:lwhua12#yahoo.com.cn

[ Last edited by weiwenjie on 2007-12-16 at 11:21 ]
回复此楼
贷帮,将爱心投资于勤奋!
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

sdlj8051

金虫 (著名写手)

继续

★ ★
2007骑猪逛街(金币+2,VIP+0):感谢热心参与讨论
初学者到电子工程师 第三课 合格电子工程师是怎样炼成的?  

不好意思,第二课没有写完,又开一课--老树当过老师,有毁人不倦的习惯,再者,这个问题想了很久了,也基本想通了。  

在网络上很多初学者在问:怎样成为一个合格的电子工程师?  

这个问题有很多答案。老树谈谈自己的看法。  

第一步 入门-51核心和基本电路  

中国人有10亿啊,每年有多少大学生毕业呢?我不知道。但是我看到有一张照片,招聘会上熙熙攘攘,人来人往,十分震撼。从来没有一个时刻让我感觉到中国的人力资源是如此的丰富。但是,从现在的大学毕业出来的学生学到了什么东西呢?一些理论,跟实际脱钩的理论。有没有用呢?有点用。但是,在企业中,需要的是实际干点事情出来,实际解决问题。所以说,很多企业不想要大学本科出来的大学生,说动手,没有动手能力,不知道电阻电容长得什么样子,能够做什么?但是又自视甚高,对工资的期望值比较高。等到能够干点事情了,又拍拍屁股跑了。所以企业现在喜欢使用大专中专甚至是职业学校培训出来的小孩,至少这些孩子们知道自己的份量,能够实实在在地做事。要知道,他们很多人的天赋并不差,有些人甚至可以说聪明,只是因为很多人是家庭条件不好,打小就是苦孩子,没有条件接受良好的教育。一旦给机会,他们都比较珍惜。  

现在的大学,误人子弟甚多。扩招是没有错,但是,实验室扩了吗?教室扩了吗?教师扩了吗?至少实验室是没有扩。老树认得的一个研究生说,只有到了一个阶段,才能到实验室作实验。很多导师就是把学生当奴隶一样干活,要是在干活中能够学到东西那就算是运气好的;运气不好的,直接就是导师的廉价的劳力了,学不到东西,活倒干了不少。  

但是,既然学生要拿文凭,要应付考试,没有办法,那怎么自救?  

如果励志要做一名出色的电子工程师,老树可以谈谈自己的看法。  

做一个电子工程师,先从51学起,这是得到公认的。不需老树饶舌。  

首先,去买一个开发板,越便宜的越好,在上面可以练练keil C。最好再买一个仿真器,这样调试的效率高。当然这个不便宜,但是我觉得可以志同道合的哥几个合买。反正1天24小时,每人8个小时轮流上,有个几个月,C51语言也就差不多了。  

其次,看看老树的文章,看看需要学点什么基本的东西。北京的大学生有福啊,没事到中发去转转,认认老树的文章上说得哪些电阻、电容、三极管、芯片、接插件什么的,看看自己的电脑上的主板、网卡、声卡、显卡是怎么画的,找找感觉,这些板卡都是高手的杰作啊。  

构思一个小的产品,按照老树文章上的思考题,找本protel99se的书,从每个菜单练起,循序渐进,从单片机最小系统->输入->LED->RS232/RS422/RS485->固态继电器、继电器等原理图画起,边画边学,一点一点做,做好了,最好找个高手看看,找出毛病在哪里,再反复改进。在这样的模拟实战中找到感觉。  

推荐老虎工作室的protel 99系列4本,写的还是循序渐进的,当然不便宜;咬咬牙,可以合买一套,轮着看。  

顺便说一句我对市场上的开发板的看法,这些开发板当然都不错,但是,只能学到语言,不能教你画原理图和PCB,实际做的时候,还是需要高手带一带是最快的。我就是一个朋友教我的,也就半天的功夫,就会了。当时还是DOS下的protel 3.16版本。  

以战养战。找个公司、企业,帮他们做个小产品,既能得到公司的高手的指点,又能赚到一笔费用,岂不甚佳?这时,你的开发板、仿真器的费用就出来了。从原理图->PCB->C51,单片机也入门了。  

第二步:登堂入室-掌握系统的电路知识  

这时,需要对电子技术的所有东东进行全面的了解,主要是看看杂志、BBS、网站上的技术文章、何立民先生主持编著的《单片机应用技术大全》系列,将单片机和它的配套的电路,输入输出、通讯等等做一个全面的了解。目标是为什么?系统的技术储备。知道什么问题可以使用什么方法解决,可能在什么地方找到解决的方法,这对你以后走上工作岗位,解决实际问题是非常有好处的。如果你真能这么做,那么,你今后肯定比单位中的老同志还要棒。  

老树在国营研究所的时候,曾经有一段时间无所事事,就是在那一两年的时间内将研究所的技术杂志看了一遍,尤其是《电子技术应用》。打下了一个良好的基础。  

这时,争取机会,学习高手们的硬件设计。一个比较快的办法就是到工控机的厂家那里,看看工控机的板卡和调理板是怎样设计的,都使用了哪些东西。记得老树第一次看到国外的一个器件,到处去问,也不知道是什么东东。后来在四通工控那里看到了,原来是固态继电器。这时,脑子里关于固态继电器的知识都冒出来了。再一看,配套市场大把的。  

什么东西就是这样,你要是不知道它是干什么的,你天天看见,也熟视无睹。  

有心人就是这样,在什么样的情况下,都能慢慢积蓄知识和力量。毕竟一个产品,不是只会单片机就可以了,还是需要很多的外围电路,按照何老师的分类,前向、后向、人机、互相通道等,才能做成一件产品的。  

这个时候,抓住任何机会,去参与一个大型产品开发,在其中做一件事情,你可以学到沟通、协作、界面等产品开发的一些要素。  

第三步:勤奋至卓越  

中国人多啊,每个人都是智商100,谁比谁傻啊。凭什么你比别人强?你能有好的工作、好的收入,你能香车宝马,醇酒美人?老树认为,没有别的办法,就是靠勤奋。  

勤奋学习-这个道理大家知道,知识就是金钱啊;  

勤奋工作-想比别人多赚钱,在智商相同的情况下,就是靠多付出时间干活,再提高工作效率。别人5×8小时工作,你是7×16小时,再提高工作效率一倍,你不久赚了比别人多5倍的钱吗?老树公司有2个员工,原来在老家种苹果,没有赚到钱,到老树的公司中干活,计件,活忙的时候,早晨8:00起来,晚上12:00收工,年底也赚了一笔钱回家,高高兴兴,老树也开心,原来一屋子人干的活,现在2个人干了,公司管理省事了,员工也赚到了钱。  

开发也是一样。当然,这个需要你的公司有这个机制,多劳多得的机制。但是,要是现在没有,你要不要这样干呢?  

我认为,需要。一方面,干别人的活,练自己的技术,长自己的本事。另一方面,多干活,才能快速增长本事,技术才能跃变、突破,登堂入室,再得心应手、出神入化。至少,熟练工种是没有问题的吧。  

就象一壶水,老是小火,烧了半天,也是温吞水;可是大火一上,一会就开了,就是这个意思。  

你看《射雕英雄转》中的郭靖,没有别的本事,就是傻练,有一天开窍了,如有神助。技术这个东西就是这样,突破了门槛,就是坦途。需要勤奋勤奋再勤奋。有一天这个日子来了,你就苦尽甘来了。  

勤奋还有另外一个含意,就是天道酬勤。其实是每个人看见勤奋的人,都会给他机会的,觉得帮助这样的人,高兴;把事情放在他的手里,也放心。  

还有一个含意是触类旁通。知识需要很多的参照物,去比较、联想、萃取、升华。换句话,你可能付出的是其他人的n倍的努力,可是你得到的是n倍以上的回报,你的知识已经不是简单的累加了,已经质变了。  

如果你在这个单位,勤奋了,也出成果了,就是没有得到公平的待遇,也没有关系。换一个环境就是了,总有人会欣赏你的。再说了,付出总有回报。  

有些人习惯怨天尤人,没有好的老爸老妈,没有好的老师,没有好的同伴,没有好的环境,没有好的老板。这些人需要去看看周立功的文章,看看周老师怎样一步步成长的。  

第四步:沟通、协作  

原来还有,现在越来越少,做一个小的产品,就可以生活无忧。  


第五步:对某个行业深入理解  

每个人生存在这个世界上,大都需要有一门独到的技术;更何况你是这个论坛的读者;  

有的人天生千娇百媚,有的人天生金嗓子,有的人有个好的老爸老妈;这些都不足为恃,更何况没有这些天赋呢?  

当你掌握了单片机、ARM、CPLD/FPGA等高端的技术,应该说,养身立命是没有问题了,可以解决人生的基本问题了;但是,还想更上一步,就需要对某个行业进入深入的理解和挖掘。  

我认识的靠技术过上宝马豪宅生活的工程师,并不是在技术上一开始就有什么过人之处,也不是说他的产品一开始就会比别人好很多,而是都是特别有韧性的人,都在捕捉某个行业的机会,在某个行业内精耕细作,坚持不懈,别人都干其它的去了,只有他还在这个行业中慢慢来,过上5年或者更多的时间,慢慢得到业内人士的认可,产品不断改进,慢慢打开了销路,最后站住脚,机会来了,一下发达了。我的一个朋友,就是这样修炼成了正果。  

有个笑话,说:刚刚离开的行业,发展最快。说得就是这个道理。  

中国大啊,市场大啊,只要认真耕耘,就会有收获。  

所以,在目前的中国,技术人员还是有机会的,再过10年,可能就一点机会都没有了。  

需要去从事多个行业吗?就个体而言,不需要。那个行业都有金子。  

就公司而言,需要吗?那要看你的公司有没有这方面的人才;还需要看有没有这个方面的机制。否则,盲目的进行多个行业的扩展,没有必要。需要做的是至少在某个行业做到前三名。  

你看,原来的LOTUS的notes,卖给了IBM,原来只卖出去300万份,到了IBM,就卖到了1000万份(大概吧)。产品就是这样,占领市场的同时,利润就有了,规模效益就有了。一个公司的产品不需要太多,但是要卖的多,才是正路。想想看,同样是产值100万,一个产品和10个产品的差别那就大了,研发、服务、维修,差的多呢。  

象吉列,就是那么个小刀片,作成这么大的企业,多么舒服。  

象GE,每个行业都是业内的翘楚,那是资本主义社会200年的技术积累。在中国,需要做的是每一个小的公司都是某个产品最突出的。从小的产品做起,做到国内最好、亚洲最好、世界最好。就行了。中国就强大了。  

到那个时候,才有可能出现象GE这样的大公司。才有形成这样的大公司的技术基础。
10楼2008-02-10 13:41:19
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 17 个回答

dream_fly84

银虫 (正式写手)

★ ★
weiwenjie(金币+2,VIP+0):merci
所有程序设计语言都是相通的.
我总是假定别人学习编程不是为了应付什么,而是成为高手级别的.而高手是可以融会贯通的。
我建议你学C和java,它们是语言中很有代表性的,C可以直接操控系统底层,而java面向对象比较彻底.如果学习到用C可以写出面向对象的中型程序,那你就是高手了.这时再去看C++或者其他语言是很轻松的.
汇编语言也不错,但是它偏底层了,现在的底层程序一般也用C不用汇编,主要是太费事了.暂时不建议学这个.

建议体会完整系统的示例代码,体会几个示例后就自己编写小程序.
2楼2007-12-15 11:13:47
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

jige001

金虫 (小有名气)

o  ,这样啊
   多谢指导
3楼2008-02-10 12:28:07
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

sdlj8051

金虫 (著名写手)


sinapdb(金币+1,VIP+0):thanks
不知道楼主是怎样理解的嵌入式系统的
也不知道楼主打算往哪方面发展
就个人的观点来看做技术有两条道路走
一,    MCU + 硬件, 走软硬结合的道路。单片机现在还是很不错的,特别是在测控,仪器仪表等行业,在这一块软硬件都牛的人还是比较少的,所以找这条道路我感觉不错,往往一个公司的技术总监就是这样的人才,但需要很深的基础,看楼主的专业不是这块出身的,这条路比较不好走。

二,    嵌入式道路,嵌入式现在很火。因为随着人民生活提高,以后产品会加入联网,多媒体,通讯等功能,这些都离不开嵌入式了。在这一块一般有ARM和DSP两条路。楼主可以选择自己感兴趣的方向发展。
但不论哪一个方向开发板必须要买的,如果没有开发板我感觉还是不要学了,对于买开发板我建议楼主还是买知名公司的,因为一般知名公司的板子一般资料比较齐全,利于新人上手。等到楼主把开发板的示例程序(一般开发板会配C与汇编两个版本的程序)搞懂之后,就算是入门了。
4楼2008-02-10 13:30:09
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通表情 高级回复(可上传附件)
信息提示
请填处理意见