`
---
一位非典型工程师的STM32开发板编程研究之路
离上次社区之星评选已有一段时日,这段时间内
论坛内涌现了不少风云人物,今天小编给大家介绍本期论坛之星—申同强(@eBox生态圈 ),申老师是
最好编程的STM32开发板众筹项目的发起人,接下来我们一起看看,他是怎么让STM32的编程开发变得像Arduino编程一样简单。
1 EE小喇叭:在EE论坛发起的STM32开发板众筹项目很成功,大家都很好奇为什么您会发起这样一个项目,目前为止遇到的最大困难是什么,您当时是怎么解决的?跟大家分享一下
申老师:从开始接触STM32到现在已经有五六年了,大大小小经历很多项目,在做这些项目的过程中遇到了很多问题,主要是驱动代码复用率和官方固件库的接口问题。发起众筹是为了提高项目开发速度,提高代码复用率。降低开发难度,重新封装固件库。
在开发的过程中遇到最大的问题就是程序架构问题,如何在多层封装的过程中提高代码的效率,提高代码兼容性,能让代码适应于各种工程项目。当时参考了很多优秀的代码,Arduino、mbed、cube等等,站在巨人的肩膀上可以看的更远,写代码的能力的提高最快的方方就是多读优秀的代码,可以从别人的代码中学习到很多知识。中间经历过三次大的架构修改,来解决上述的问题。
目前遇到最大的问题不是技术问题,而是推广和开源的问题,
2 EE小喇叭:除众筹外,很多网友都想了解一下申老师是怎么步入这个行业?
申老师:大学一开始就对这个有这深厚的兴趣,加入了
电子协会,后来一不小心当了会长。然后去了科协当了个主席,搞点科技活动,参加点大学生的比赛之类的,然后就开始跟着老师做项目的漫长大学生活,然后就是现在感觉这辈子是跟电子、嵌入式这个行业杠上
3 EE小喇叭:您做过那么多项目,肯定会有很多故事,您觉得哪个项目是你印象最深刻的,为什么?
申老师:做项目的确是个需要花心思的事情,从项目需求到产品验收整个过程,非常劳心劳力。但是没有能让人特别挂心的项目,都只是在“工作”而已。只有eBox这个项目到现在已经有多半年了,还在不断的更新内容,这个项目可以说是最有意义的。因为这个项目是一个没有尽头的路,是一个可持续发展的项目,是一个可以让所有工程师受益的项目(有点抑制不住的小感慨了)。。。
4 EE小喇叭:工作一段时间后,特别是工程师,都会遇到瓶颈,请问您有遇到过么?您当时是怎么解决?
申老师:这个是一个很正常的现象,我在来到大学工作后的一段时间也是有这种发展遇到瓶颈的感觉,整天感觉没什么新鲜的东西,现在想想当时真的是白活了一样,其实不然任何事物的发展都是有一个量变和质变的过程,在这个量变的过程一般会有感觉就是自己总是在碌碌无为的“活着”,不要把这个过程看做是自己停滞的状态,更不要灰心,要用一个积极的心态去面对,然后要多思考,或许某一天灵感来了,就会引爆你的小宇宙!
5 EE小喇叭:现在的工程师工作压力和强度都很大,加班更是常事,经常会出现失衡的状态,请问您是怎么平衡工作和生活的?
申老师:这个是个世界级难题,要想从根本解决需要国家的政策(这个有点缓慢)。当然从自身的角度出发也有一些解决的办法,假如只是工作而不是当做事业来做,这个事情你只需考虑以下几点:
一学会认识自我,了解自己的水平,认识自我的价值所在,这个是个大前提,是你生存之本,切记浮夸!
二拿多少钱干多少事,在认识自我价值之后,需要认真考虑这个事情。如果觉得经常出现加班影响了个人生活,而且不是个人能力问题,就需要考虑公司项目进度安排是否合理。如果因为这个不合理,可以考虑提出加薪的需求如果老板觉得不合适,这时候需要考虑是否是该换个工作。
三不要把工作上的事情迁移到生活中,安排好自己的时间。人有多中角色,要学会
在各个角色的任意切换。打个不恰当的比喻就是从高冷到逗逼只需1秒。。。
6 EE小喇叭:现在很多网友都想学嵌入式,苦于无门,可以给我们分享一下你当初是怎么学的么,对于初学者,看哪些书籍对他们来说比较合适?
申老师:我认为最快的学习是需要兼顾两条线路,一个是类似以快速入门的东西,让自己能尽快的动手来实践这些内容,这个是能让你以最快的时间来完成对整体事物的认识和具体细节的实现,是一个模仿的过程,另一个就是基础知识要不断的去学习,这个才是质变的基础条件,当你基础知识足够扎实而且又比较广泛,可以有触类旁通的感觉,也能帮助你更好的理解你所观察到的事物,反哺第一个过程。
把这些内容放到嵌入式的学习就是,买个开发板学习别人的代码,模仿他们的具体实现过程,第二个就是没事了就看看c/c++的基础知识,多找一些优秀的代码去拜读下他们的经典思路,实现理解、消化、吸收的一个过程。
你突然发现我这些话都没用,我只能说,你可能只做了第一个过程。不能理解第二个过程的重要性。
7 EE小喇叭:现在很多大学生(本科)网友反馈,大学只教51单片机,很多同学觉得学的少,后来又自学了STM32,最近听老师说zigbee技术比较火,又开始研究了zigbee,反过来一看,什么都懂一点,但是都不精通,请问,在大学阶段,是尽可能接触多的技术,还是专攻一门技术? 申老师:这就是一个自我发展规划和社会需求如何融合的问题。
现在社会是一个分工明确的社会,不太需要样样精通的全能型人才,即使你是也没时间全全负责,即使你有时间,公司也不会让你一个人来做,你不能保证项目进度,即使你能保证,公司依然不会,因为技术都在你一个人手里,老板有点心慌。
按照自我发展来说当然是会的越多越好,多一门技术多一点生存能力。
所以要兼容这两者,学会做丁字型人才,我有一个领域是能独当一面的,这是立足之本,但是我又对其相关领域又有这广泛的认识,这是提升你的附加值。而且人是有精力限制的你不能只工作或者学习,整个世界你都像容纳下,除非你是如来佛祖,有秒杀孙悟空的能力。所以要规划好自己的线路,主方向要确定好,其他周边产业链一定要熟悉,做到遇到相关问题知道该找什么样的合作单位就行。貌似是技术总的工作跟这个很像。嘿嘿……
8 EE小喇叭:一些工作了几年的网友,想更进一步的学一些技术,提升自己,但是没有方向。对于这些想要进修的工程师,您觉得这个阶段怎么去提升自己的技术能力?
申老师:有一定能力这个概念比较模糊,如果觉得基础差不多了,比如像我这样的,也只能说是基础能力有点了,如何真正的判断自己的技术能力需要靠实践项目,是骡子是马拉出来溜溜!溜着溜着,你就会发现自己的不足之处,然后通过这个项目就可以使自己有点进步,如此往复,做过各种类型的项目,可以有一定的提升。再加上在这些过程中所学对基础知识认识的加深。可以对自己能力的提升起到关键作用。
但是想感觉到质变,不是光靠这些就行的,需要把握好机遇!比如我遇到电子发烧友,然后才能有更好的发展空间,也就是说开拓了一个新的区域,然后你才能有更快的发展机会。
9 EE小喇叭:除了嵌入式,工作和生活中您还有什么兴趣爱好?您是如何利用业余时间的?
申老师:个人比较喜欢音乐,唱唱歌,偶尔学点乐器类的东西。假如我又下辈子,我可能走文艺范去了。还有下象棋(略懂皮毛,但是对这个比较痴)。也是个军事爱好者,经常关注世界军事、财经新闻(虽然有些看不懂,看个热闹)。运动类项目我喜欢的不多,主要就是乒乓球,这段时间工作比较忙,就打的比较少了。学校举办的乒乓球的比赛,必须参加。夏天会偶尔游泳去(北方标准旱鸭子,现在只能说淹不死了)。比较喜欢日本的动画片,都一把年纪了,改不了的臭毛病了。感叹的是中国的动画产业,不说了。。。
这些项目之前都经常做,最近这半年比较少些,都捐给eBox了!!!
10 EE小喇叭:如果用两三句话回顾你这些年的生活,您会怎么描述?
申老师:生命在于折腾,不想当将军的厨师不是个好的水手!没压力的时候放开了做,有责任和义务的时候,要有承担!生活中扮演好自己的角色,工作中对得起自己的职业,特别是教师这个良心活!
EE小喇叭:从字里行间可以真切的感受到申老师是一个脚踏实地,敢于突破和较为文艺的人。勇敢不仅是不顾一切往前冲,像申老师讲的“有责任和义务的时候,要有承担,没压力的时候放开做”或许需要更大的勇气和智慧。感谢申老师接受我们的采访,祝申老师事业顺利,万事如意。
往期回顾:
`
63