硬着头皮做完那个“赶着鸭子上架”的项目,我居然能编程了

2018-06-04 10:31:00 来源:EEFOCUS
标签:

入行之初,我并没有从事单片机编程,而是一直做上位机程序,就是在windows系统中做应用程序,大概做了半年。我和三位同学打算开发电视台的播控系统,并且成立了一个工作室。我当时觉得这个项目挺有希望,于是一起租了办公室。

 

陈建做项目管理已经很多年,最初几年也做过程序员负,他责产品的策划、项目管理、市场推广。我协助陈建做市场推广工作,同时负责产品的测试以及文档的编写。其余两位已经有10年的程序设计经验,算是是资深的工程师,自然负责产品的研发,也就是code。

 

我们的系统中需要一台视频切换器,陈建联系了西X大的申老师帮我们完成了产品设计。刚开始时一切都进行的比较顺利。但是从0开始搞产品大家都是头一次,脱离公司的成熟平台和自己搭建平台做事区别非常大。

 

首先是人力的问题,以前人力紧张只需提出需求,HR就可以负责完成大部分招聘工作。工程师能力不够,只需调整工作任务或者岗位就能搞定,至于用人成本问题就交给老板考虑了。现在我们这个团队刚开张,只有三台电脑四个人,更换或者增加人手不现实。要在现有人力基础上完成整个系统工作,时刻清楚每件事情的轻重缓急,紧张有序的安排整个项目顺利进行,统筹工作的难度不是一般的大。

 

其次是资金问题。以前资金问题完全是老板去考虑,房租、水电、物业、打扫卫生都有人负责。现在小到一支圆珠笔、一张纸完全需要我们考虑。要保证现有资金枯竭之前完成产品上市并获得利润,否则这个工作室随时可能散伙。

 

最后就是项目存在的问题比想象得更复杂、更琐碎、更耗费精力。陈建以前是研发部经理,兼任市场部工作。因为他是高层领导,所以很多工作都交给项目组长完成。对于他来说解决问题的逻辑非常简单,只需要提出一个指导意见,就会有人来负责完成。但是现在他就是项目组长,需要他自己发现问题来解决,原来解决问题的过程是如此的一波三折。

 

一切问题汇聚到一点就是money的问题。虽然现在资金不至于马上枯竭,当家方知柴米贵。陈建希望节省每一分钱,随着项目研发推进,不断切换器的功能不断提出新的需求。必须给申老师增加研发费用。而且这个问题什么时候是尽头暂时还不明了。陈建希望我们可以顶替申老师的工作,完成切换器软件的升级工作。其余两位工程师是有power没时间,研发工作已经让他们够累的。陈建的日常工作安排的非常紧张,漫观天下只有我有时间。但是一方面我编程能力非常非常一般,另外一方面我接触单片机也不多,电阻、电容等基本元器件我也不清楚。但是在目前情况下我最适合,因为我有时间,而且写过一点点程序。

 

 

申老师的代码是2.5K行,找到main( )函数后我开始一行行浏览。切换器的功能我非常清楚,刚开始几天我可以打电话请教申老师。但是不久申老师参与了国家航天项目,实在没有精力来指导我了。我只能更根据破译密码的原则,10%靠理解,其余90%只能靠猜了。一行行死扣代码,我竟然支撑了两次对切换器功能的更新。

 

播控的测试工作非常耗费时间,特别是稳定性的测试。需要稳定播出100小时以上的节目单。刚开始我拷贝了很多VCD作为测试节目源,顺便看了几部电视剧。到后期系统越来越稳定了,我就不用死盯着电视机了,但是必须守着机器,时间就更充分了。

 

申老师的代码本来是一个完整的系统,经过我的几次修改已经千疮百孔了。如果再做大的修改已经掌控不了。我计划自己来完成整个系统代码的重新构建。恰巧有位朋友送给我一块周立功的dp-51的学习板,学习板附带一本书,书名大概是《增强型51处理器入门与实战》。

 

于是守着机器我开始学习51编程。飞利浦的P89C58虽然已经是增强型单片机,但是外设还是比较少,板子可以做LED、数码管、串口等试验,内容确实不多。但是没有人指导,在开始阶段一个学习效率很低。当第一个LED开始闪烁我激动了好半天,十几行代码我玩味了一个上午。第一个例子通过标志着开发环境搭建已经完成了,后面的例子跑起来就非常顺了。

 

我从网上采购了烙铁、镊子、松香、酒精、万用表。在电子市场采购了单片机、电阻、电容、LED、max232、万用版、各色电线等材料。AT89S52已经不需要烧写器了。买了一个并口的下载器。我以前从来没有摸过烙铁,所以事情进展非常慢。花费几个通宵搭建了一个单片机的最小系统。一切非常粗糙,焊点经常不是虚焊就是断开,不过最后勉强可以使用了。这次的折腾我初步掌握了烙铁的使用和温度控制,认识了几个元器件。

 

我彻底抛开了申老师的代码。根据当前的功能需求一步步构建自己的切换器代码。虽然切换器的功能不复杂,我也写过一点代码。但毕竟没有硬功夫,设计完全没有章法。但还是勉强完成了软件的编写。而且在申老师的硬件上运行,一切表现良好。

 

几个合伙人因为我没有影响本职工作,也没有动用一分钱公共财物完成了该项系统,为我们以后的系统功能扩展奠定了基础,而对我大加赞赏。虽然代码非常烂,但是功能符合项目需要。以后可以根据同事的要求随时更新。陈建表示虽然解决的不够完美,但是我们自己已经掌握了方法,即使不够完美也是好方法,一言蔽之到手铜远胜隔手金。

 

我们的播控系统集成切换器上市后,产品整体表现良好。算是我的功夫没有白费。

 

工程师的职责是解决问题,但是问题永远解决不完。有客户需要16路的切换器,其实完全可以使用8路切换器串联解决。但是客户需要将播控集成在一辆汽车里,空间有限。陈建感到以后市场空间比较大,提出设计一款16路的切换器。该项工作由申老师来完成最合适,但是申老师出国了,暂时没有合适的人承接。

 

我在申老师办公室见过他和同事画PCB。前一阵学习单片机也对PCB有了感性认识。我采购丁字尺、三角板。画了一张4U机箱开孔图。在书店买了一本有关DXP2004的书籍。该书附带一张光盘,有6个小时的教学视频。内容非常详细,我照书从原理图、封装、过孔、线、覆铜一步步学习,半个月以后我竟然设计了一块16路切换器的PCB。

 

收到板子后,我采购元件。才发现我不会贴片元件的焊接。TQFP的管脚间距太密了。有朋友在电脑城维修笔记本电脑。我找他帮我焊接,朋友很热情,表示不是大事。但是最后发现他小瞧这件事情了。维修一台笔记本主要任务是判断故障,焊接的工作很少。但是现在完全是焊接工作。一块板子上的焊点已经超过他一年的工作量了,而且他本身不是焊接工人,所以速度非常慢。他干活时我只好在一旁端茶递水。六块不大的板子两天勉强完成。朋友突然提出了一个问题。


“骆驼,你这块板怎么安装?”
“怎么啦?”
“四角没有安装空,没法安装……”晴天霹雳!我确实疏忽了。“我刚才比对了一下,你的四个角刚好没有元件和电路,我打四个3毫米的孔就行了。”

 

好在产品是安装在机箱里。手工打孔虽然不美观,但是不碍大雅,总算没有浪费掉。写软件我也不在行,但是总比PCB好一些,花了半个月时间勉强完成了软件编写。

 

在以后几年里设计切换器就成了我的附加工作,一共做了六七款产品。我们的合作结束后,为了一家的生活,我从事了单片机的程序工作。

 

前几天清理杂物时我翻出几块电路板,看完我心想:这是谁做的?为啥做得如此槽糕?我看来好半天,发现板子的上丝印是CAMEL。我将板子赶紧扔在垃圾袋里。设计如此槽糕的东西竟然卖了出去赚钱!我忏悔吧!整理抽屉发现了一个U盘。打开浏览,竟然发现了当年我编写的一个切换器的项目,打开发现真是惨不忍睹。我都怀疑如此槽糕的代码怎么卖出去的!我再次忏悔了一把。

 

不忘初心,方得始。过去的已经过去,既然知道以前的不如人意,就尽力把把当下事情做好。

 

与非网原创内容,未经允许,不得转载!


 

 
关注与非网微信 ( ee-focus )
限量版产业观察、行业动态、技术大餐每日推荐
享受快时代的精品慢阅读
 

 

继续阅读
工程师:及时抓住工作中的好机会,不忘初心持续努力

我的感悟就是,无论学习和工作,努力抓住每一次好的机会。活到老学到老是必须的,只有多学习才能有更多经验积累,做出好的成绩。就拿我们读书来说,读初中时拼命要考上好高中,尽力用上一切能用的时间,拼命背书学习;读高中时拼命想考上好大学,吃睡都在教室里,拼命刷题,稿纸用了一叠又一叠,试卷做了一摞又一摞。

佛系工程师的精神晋级:万般皆是业,半点不由人

2014-2015年,是我人生的至暗时刻。那段时间,内忧外患,内有身体病痛,外有单位摇摇欲坠,内有新添小女,外有房贷压身。每每躺在床上,感受着身体的病痛,体会着前途的黑暗,五内翻腾,久久无法安然入睡。大家都知道,长时间休息不足,不仅造成精神体力下降,还有引发焦虑、抑郁的风险,那段时间着实也处在这两股情绪之中不可自拔。“生存还是毁灭,这是

毕设那一年,我的C语言通关了

如今回想起来当年的情景已经历历在目:计算机的CPU是286的,操作系统是DOS的,上电之后是需要输入指令才能进行操作的,所以拥有一张C语言的启动盘,绝对是最亮的招牌之一。 C语言,起初语法还简单,但是越来越难学:前脚刚刚把运算的逻辑理顺,接下来数组、指针、结构体,都来凑热闹,而且是混在一起使用,更是令人应接不暇;最后当学到枚举和递归的时候

勇敢辞职换工作,我找到了理想的硬件工程师职位

再过几个月,我毕业到北京工作就满两周年了,我感觉很有必要以每年为一个节点进行回顾和总结,一方面回顾自己一年来的收获与不足,另一方面展望一下自己的未来,希望自己可以过得更好。

当工科女遇上单片机:兴趣吸引我走上工程师之路

我是一名工科女,原本有机会成为一名电子硬件工程师的,然而实在是手残党,对于焊接元器件基本不在线上,拿起烙铁就畏惧不已,后来转行成了一名网站前端工程师。

更多资讯
郭台铭: 中国芯片和操作系统的路要慢慢走

鸿海董事长郭台铭表示,中国可以做出自己的芯片和操作系统。他认为,今年富士康进行园区改造,深圳龙华产业园区预计5年改造完成。

一文看懂高大上的芯片设计和生产流程
一文看懂高大上的芯片设计和生产流程

芯片,指的是内含集成电路的硅片,所以芯片又被称集成电路,可能只有2.5厘米见方大小,但是却包含几千万个晶体管,而较简单的处理器可能在几毫米见方的芯片上刻有几千个晶体管。芯片是电子设备中最重要的部分,承担着运算和存储的功能。

超算,决定国家的未来!
超算,决定国家的未来!

6月8日,美国能源部向全世界高调宣布:美新一代“顶点”超级计算机,力压中国“神威太湖之光”,重夺世界第一!

DDR内存的发展简史:和三星有关
DDR内存的发展简史:和三星有关

可以很清楚地发现,DDR、DDR2、DDR3和DDR4之间的接口并不兼容,当然,其工作电压也是不一样的。(除了DDR4是台式机的接口,前三个为笔记本上的接口)

基于STM32的虚拟多线程(内附代码)
基于STM32的虚拟多线程(内附代码)

基于STM32的虚拟多线程,可以很好的用于裸机程序中,用于模拟小型操作系统的多线程概念。本实例参考了参考TI_BLE协议栈_ZStack协议栈。

电路方案