我的IT成长之路
看了标题,朋友们可能感到奇怪,博客多写一些生活往事、趣事、笑话、诗歌、杂谈。很少有人写经历或总结。一看就是在写作业。不错,本人遇到了难事了。必须完成作业,挣到分数,才能到网上下载自己需要的资料。什麽难事呢?您听我细说!
飞利浦公司开发一款LPC213X的32位微处理器。不知何故,现在有NXP公司生产。不论是原飞利浦公司的用户手册,还是NXP公司的用户手册,都没有其元件封装。没有元件封装就不能做印刷电路板。画出原理图也没用,干着急。如果自己实测自己做元件封装。不仅费时费力,做出的元件封装也不一定能用。因为元件较精密。稍有误差,就无法焊接。因此到网上找。CSDN全球最大中文IT社区网站,有人发布其元件封装且愿意与大家共享。可网站为了要人气,要求大家必须挣到分,用分去下载自己需要的资料。这才有了“我的IT成长之路”。
我是学应用数学的,为解决工程问题,本专业开设了计算方法和计算机语言两门课。我们学的是FORTRAN语言。把工程问题概括一个数学模型。然后用有限元或有限差分法上计算机计算。因此,在外行人的眼里,我是搞计算机的。说实话,名不符实。因为除了这门高级语言,我对计算机一无所知。每在杂志上看到计算机大神们用汇编语言编写的程序,控制设备按自己的指挥运转,我就佩服的五体投地。在对知识渴望与兴趣的推动下,我买了一些介绍汇编语言的书,开始自学。记得看过清华大学周明德老师编写的介绍8086汇编语言的书,看了几年,也没看懂。书里开始讲二进制,虽能看懂,但不知二进制与计算机有啥联系。看到存储器,寄存器。总也弄不清存储器和寄存器有啥不同。想一想,这些基本问题都不清楚,咋能用汇编语言编程呢?
一个偶然的机会,使我与计算机CPU打起了交到。我厂同一部队的科研院所合作,研发一个提升机电控自诊断系统。产品出厂后,因各矿井深不同,必须现场修改程序,使提升机的运行能按规定的速度及井深运行。为安全起见,对井深必须准确无误。因此要找一个懂计算机的人接管。其实,修改程序并不复杂,十几条语句,只要把采集到的电脉冲信号数量,转换成井深,与实际吻合就成。这样,我就成为了专家!
在大学时学过电磁学,没有学好。究其原因,一是不重视;二是数学与物理学处理问题的方法不一样,数学对每一个公式都是一步步推导而来,条理清楚,不容糊涂。而物理学上来就先给你一个公式,让你去套,不讲公式的来历,糊里糊涂。因此,没了兴趣。
忽一日,厂里要工人下岗,我堂堂高工,名牌大学毕业,也就下岗了。不服气!在电控几年,耳睹目染,一般的电器基本知识还是有了。加上本专业数字逻辑课。渐渐明白单片机为何物。于是,买了一片8086CPU芯片。找广州的同学在广州买了几块光电耦合驱动接口。记得是4N25或是4N40光电耦合器。于是就组织了一个小电路。用5V的直流电竟能控制220V的交流电。各种颜 {MOD}的交流电灯泡按我的意志亮或者是熄灭。从此一发不可收拾。我竟能用89C51单片机将声音转换成数字信号存入存储器,当然也可以把语音数字信号转换成模拟信号用扬声器放出来。我的试验平台可以串口同PC机通信,把PC机中的字库传到我的试验平台上。可以说,我把8位的89C51单片机用到了极致!
就在我信心满满的时候,有一天,微软把windows98变成了windowsXP。这下有麻烦了。朋友们知道,windowsXP之前的视窗系统,视窗同操作系统是分离的,换句话说,我用汇编语言写的程序,可以在PC机上运行。因此,我的系统试验平台可以与PC机通信。当微软的视窗变成windowsXP后,因为windowsXP把视窗与操作系统融合在了一起,我写的程序无法在PC机上运行了,当然PC机也无法与我的试验平台通信了。你的产品离开PC机对用户来说是一个灾难,这就是说,你的产品无生命力了。
我是名牌大学毕业,我是下岗工人。不能这样算了。重打锣鼓另开张。我又开始了32位ARM芯片与Vsual
C++的学习。LPC213X系列就是一款32位的微处理器芯片。8位机与32位机有不同点也有相同点。相同点就是基础的东西是一样的,只要你懂二进制,清楚与、或、非的逻辑关系,也就有了开发32位ARM的能力。不同点是,32位ARM初始化较难,如果对芯片不能熟练掌握,很难编制其初始化程序。还有32位机不像8位机,程序和数据可以任意存放。32位ARM的存储器使用是有规定的,必须按规定将指定的代码和数据存储到指定的空间。
为什麽学习Vsual C++呢?因为Vsual
C++是微软公司开发的可视化编程工具,用它开发的应用程序与Windows操作系统紧密结合,代码执行效率高。更重要的是Vsual
C++是一个面向对象的程序设计语言。“对象”理解起来很难。世界上万事万物,都有其特征与行为。例如:鸟会飞,男小鸟能发出悦耳的鸣叫。动物有四条腿。会跑。能发出各自的声音。我们把具有相同特征和行为的飞禽和动物分成若干类。比如:动物狗就可以划分成一个类,他的特征是会跑,爱狂吠。对主人表现可爱。在狗类中某条具体的狗,他就是一个对象了。对象是类的实例化。
朋友们可能会问了,这与Vsual C++有什麽关系呢?关系大了去了!我上面说过:Vsual
C++是面向对象的程序设计语言。接着上面的话题,对象是类的实例化。每一个类又可以分成许多子类,比如狗类可以分成公狗类和母狗类。黑狗类和黄狗类。这些子类继承了狗类的行为和特性。请大家注意,我又提了一个继承的概念。这体现了Vsual
C++与其他高级语言的不同。传统的编程语言,是顺序编程,一但程序设计完毕,要想添加新的功能是很困难的,一般是推倒重来。而Vsual C++不同,他采用的是消息驱动机制,不论何时,用户添加新的功能,只需在菜单里加道菜即可。这就是有了继承的关系。使添加新功能更方便。朋友们不要小看消息驱动与继承的概念,这是程序能模拟世界上万事万物的一个革命性变化。有了类,对象、继承与虚函数的概念,使得编程人员能够编出更人性、科幻的游戏。当然,这也是以后真的仿真机器人的前夜。为了掌握这些东西。我用了四年时间!
做为一个IT人,兴趣是动力,毅力和坚持是关键,自己给自己压力,自己给自己较劲。如果你不是天才,你有铁棒磨成针的毅力和坚持也行。我用周立功先生的话做为我的IT成长之路的结束语:做为一个IT人,要想有突破,“自己对自己要很一点”。