今年暑期,我受邀
(找关系)来到了深圳市美思康电子有限公司实习,参与到了五分类全自动血细胞分析仪自动进样板的底层开发。“工作”一个半月,颇有感触,特写下此文,作为假期的总结。
第一章 • 认知
知识应是越精越好
以前我一直认为学到的知识越宽越好,学到各种知识,将来就可以从事各种职业,因而盲目地学习各种编程语言,从古老的VB,到应用广泛的VC,到流行的java,甚至是网页端的php,都有涉猎。
来到公司后,第一件事自然是要选定方向,即上位机开发还是底层开发。一旦一决定了一个专一的方向,我就发现以前“多学”到的那一部分都没用了用武之地,反而就是单一的一门就决定了整体的高度。这与所谓的“短板效应”是恰好相反的。
多线程的思想很重要
习惯了51单片机的单线程阻塞式的编程风格,再突然转为stm32,如果还采用以前的那种单线程的工作模式,会大大浪费CPU的资源,同时也降低了程序的效率和稳定性。
所谓“多线程”的开发,就是要充分利用单片机自身的特性,比如PWM和中断,利用它们来实现多个线程运动之间的自动切换和无人干涉式的操作。
专业英语得加强
专业英语不同于课堂上的英语,做底层开发所要用到的各种芯片资料大多是英文版的,这些专业术语用百度翻译都难以翻译准确,更何况有些还要与数学表达式相结合才能读懂,这就得依赖于英语的水平。英语四级的水平还是远远不够的,还需要多读相关文档,多积累专业词汇。
配合团队整体,文档需完善
实战的开发,不同于学校的小项目,而是需要各个部门的所有开发人员相互配合。怎样完成配合呢?联系的纽带就是详细的开发文档,一份完整的开发文档应包含需求分析、程序流程图、程序变量表、程序函数说明、外设资源分配表、通讯协议等。
同时,程序中关键的部分一定要有注释,注释不在于多,而在于精准,大家都直接读得懂的就没必要注释。
好的思路产生好的程序
写程序不能盲目乱写,一定要先形成完整的流程,充分考虑到各种情况再动手,防止因为思路错误而导致不断地重写。实现一种功能的算法有很多种,要从中找出最优的那一个。
第二章 • 收获
技术层面
这次的实习,采用的stm32f103芯片我还是第一次接触,一个半月以来,我已经熟悉了它的相关操作,如pwm的控制、中断的处理及系统时钟的配置等。并且在后期的测试过程中,也熟练地掌握了keil的调试方法和示波器的使用。当然,在这过程中也暴露了以前学习中的很大一批问题,需要在学习中不断完善。
工作层面
全方位地了解了底层开发这个行业的工作流程,知道了以后上班是要干些什么,以及一个公司是怎样运营的。以前对于“上班”的概念仅仅停留于一人一台电脑的这种形象。本次实习,我实际参与体验到了公司的软件评审会以及周会,令我增长了不少见识。
第三章 • 成果
1、基本了解了五分类全自动血细胞分析仪自动进样板的工作流程;
2、完成了步进电机的三种模式的速度控制驱动;
3、完成了无刷电机的驱动;
4、完成了检测光耦的IO口及中断配置。
第四章 • 遗憾
最大的遗憾是前期的入门太慢,浪费了太多的时间。原本计划中的所有组件联动调试已无法完成。
最后,以屈原的一句诗结尾:
路漫漫其修远兮,吾将上下而求索
本文作者为mengkun,转载请注明。
受益匪浅233,加油(ง •̀_•́)ง#(勉强)
同款静音鼠标
@远哥制造淘宝爆款,哈哈
(质量还真不错,到现在用了三年半了[aru_11])
聪敏真好
博客真好看