社区之星-ARM技术智多星达人:程志
近期电子发烧友ARM版块推出的寻找ARM技术智多星有奖问答活动受到很多工程师的关注,非常感谢大家! 在【有奖问答】寻找ARM技术智多星 汇总(3.20更新) 活动中,程工为人相当的低调哈, 一直都是在默默的帮助和解答问题!当然我们小编也就是要多多发现这样的技术牛人,希望在他们的帮助下共同进步,下面我们很荣幸的请到了程工跟我们来分享一下自己的学习过程,希望能带动和启发更多爱学习的人。
下面开始程志的学习经验分享:
这个这个……就是要持续不断的学习,能通过自己努力解决的问题,尽量先自己解决,不要一点基础都还没有的时候,动不动就问别人,这时候没有基础,对于问题都描述不清楚,甚至可能你自己想做什么你都描述不清楚;所以,要向别人请教,首先要能够描述清楚自己的问题。英语要学好,很多器件资料都是英文的,很多中文资料,除了由厂家直接提供的和少数几个出版社出版的作为教材的书籍,大多漏洞百出,错误不断;所以能直接看原厂资料,最好看原厂资料,不要被那些无良翻译出的书误了,还要浪费时间去发现他的错误。
一开始我自学的是模拟电路,到现在道行还是不深,只知道基本原理,然后上学是机械行业的学校,在学校时,为了想给家里的老电视机加个遥控,开始琢磨数字电路,74系列,MCS-48,MCS-51;最后未果,但是学到了一些这方面的知识;当时感觉最麻烦的一件事情就是做板子,一直到最近都还是有这个困扰,不是太复杂的电路都用线飞了,为了一块实验用的电路做块PCB,太没必要了。
工作后,因为有朋友折腾电子垃圾,里面有各种各样的单片机,MC68000,8086各种外围,然后又想弄电视机遥控器(最后还是未果,直到现在还是未果,呵呵),开始深入学,51的汇编。当时收入特差,在武汉一家公司邮购(当时还没有淘宝)两块光板,板上用的两块GAL16V8(没能力复制,所以买俩),和一块带固件的27256,然后其他片子就都是从电子垃圾里面找的,自己焊板子,用DVCC-51单板机复制27256,调试程序都没舍得买,直接就是一块裸机;所有的书都来自图书馆,每本书最少都通篇看过两遍;没有数据线,所有的程序编好后都是将输出文件抄下来,直接在DVCC键盘上直接输入机器码,最熟练的时候,可以直接在DVCC上以机器码直接修改程序,包括跳转指令等,现在想起来,真是被逼出来的啊。
工作两年后,成高学计算机,开始学高级语言,最深入的就是C了。其实总结下来,所有的高级语言都是一样的,区别在于接口,子程序之间的接口,和操作系统的接口,和程序员的接口,和最终用户的接口,如果项目组织得好,可以只要求编码的功能,然后各个模块可以用不同的语言(高级语言,汇编)编写,编译成目标文件,最后汇总在一起链接成可执行文件。
由于英语不好,学习起来非常困难,买了一本牛津英汉词典,一个单词一个单词的翻,有些是砍头去尾,然后又拼在一起的,就只有用猜了;反正开始的时候,都要小小的出一点汗的,真的非常困难;至今、我的英语水平90%都是得益于编程过程中的学习,所以,要感谢计算机,让我稍微有了点英语知识。
其实学编程语言,最重要的是要有一个完善的编程语言系统环境,他不止要提供编译、链接功能,还要提供一系列的参考文档,让你不用离开工作另外去翻阅资料,这样就可以节约很多时间,能够及时查找问题所在;到现在为止,我还很怀恋微软的MSC7.0,虽然他是很原始的字符型窗口界面,但是他的帮助系统非常好用,你可以在程序中任意一个位置用鼠标右键点击语句中的元素,直接就弹出对应的帮助条目;MSC7.0的平台还能将其他如汇编、帕斯卡、BASIC这些编程语言集成在一起,相应的语言也提供对应的文档;最后一个界面统一操作,适合多种语言融合在一起开发软件;因为一开始就是从51的汇编学起,所以学C的时候,在X86平台下,跟踪调试都很是得心应手,可以很迅速的判断问题出在哪里。
后来有一段时间,因为需要处理一些类似电子书籍的图像格式,还摆弄过IDA pro,进行反向工程;这些又需要将汇编语句处理成C语言,便于分析程序流程;所以对编程语言之间的联系又有了更深一步的认识和理解;同时还对各个公司编译代码的效率有了一定的了解。
现如今,除了学到一堆编程知识,编过一些小程序出来解决比较容易处理的问题,就没啥成果了;找个借口,可能是我的工作本身就不是能出这方面成果的那个环境吧^_^
说了一大堆的口水话,希望能对大家的工作和学习有点帮助,本来就没啥写作水平,大家别见笑!
小编点评:
从小编跟程工的交流中发现程工是个低调奢华有内涵的人啊!理工科的人都知道,不管是读书还是工作都得勤动手,因为只有在动手制作的过程中才能发现和解决问题。当然就像程工分享的一样很多事情都是逼出来的,人不逼自己一把,永远都不会知道自己的能耐有多大。所以大家一起持续不断的学习吧!加油!
往期回顾:
第二期:社区之星——单片机达人:吴鉴鹰
第一期:社区之星——DSP牛人miachael_xing
我是个还没有毕业的学生,看完程老师的分享后感觉我们是应该多学习,学会凡事都要先动脑子去思考,才会有所收获,谢谢程老师的分享
说的很好啊!都是很实在的经验之谈,学习了
牛人啊,膜拜学习
我是学硬件的,也学过C语言,现在有种恍然大雾的感觉,原来C还能小编英语提高
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
值得学习啊!说的很好
先膜拜一下,我的英语也不好痛苦啊!
好贴啊!顶一个
说的很好,学习不能半途而废!
学习了 就是想问一下程工的动手能力是不是很强呢,我每次焊接时总是容易出错,有没有好的技巧能提高焊接质量呢?
程工的分享很有帮助,写的很好,赞一个
mark 佩服您的意志力
很多事情不是为了得到结果而去做,需要的是从过程中找到收获,多谢分享
一直坚持着很不容易,牛
向陈工学习,预祝陈工工作顺利
任何程序在实现功能的前提下,简单最好!
手工焊接的话主要注意处理锈蚀,污渍,焊接温度,加热时间,考虑焊件散热情况,焊件散热好的话,焊接温度要适当提高,希望对你有用
先顶一个,呵呵,我要快快跑。
我也来吐槽一下 仿最近在自学一些仿真软件 才发现英语TMD重要 不过在这个过程中确实如小编所说,得一个一个单词去查反倒是有点提高英语水平的感觉咯 甘吧爹