程序结构就像个毛坯房
扫描二维码
随时随地手机看文章
可以产量化,也可以通过训练达到统一。
功能的实现和技巧的运用就像室内的装潢,因人而异,且差异极大。我觉得工程师的水平主要体现在这里:能简洁、美观、思路清晰地解决问题。
比如用了OS,就算是TINY51(900BYTES左右,简单吧),那些定时器、信号量触发、任务间的调度等就都不是问题了。而且,什么IIC、SPI甚至CAN(更别提LCD、KEY了)都有现成的驱动,就算没有,写一次这辈子就能用现成的了。这就是常说的开发平台。
对于常规应用,基于平台写代码就是体力劳动,结构都差不多,如果统一了规范,相信连代码都很相似。就像做三年级应用题一样,不需要什么水平,也看不出什么“高手”。
但是,到了大规模、强实时、逻辑关系复杂的应用来讲,高手的作用就显出来了。他就是比一般人思路清晰,所以写出来的东西逻辑关系好、让人觉得巧妙且赏心悦目。从这点来说,难点不是程序结构上能解决的,而是在思路和经验上解决的。
觉得搞MCU的高手一定得是相应领域的高手(当然编程规范的遵守是起码的),其结果可能就是你觉得是理所应当的东西,别人就觉得技巧性强(尤其在算法上);遇到知音时他会对你的结构赞不绝口,遇到思路相佐的可能就要挨骂了。