感觉单片机太简单是一种自负吗?

做技术越久,越觉得自己所掌握的东西,只是冰山一角,单片机只是解决问题的工具罢了。

我做过工程师,也技术入股过一家小公司,也做过自由职业。

我现在已经从业13年了,有很多老板找我开发方案,时常感叹隔行如隔山,有很多功能没做过的,也要花很多心思研究,过程也要跳很多坑。

但经验的优势,确实体现在开发效率和产品稳定性上,哪怕是没做过的项目,稍微研究一下,也能很快找到切入点。

先以一句话总结:复杂性很大程度上,是源于降低产品成本的需求。

比如以前我做项目,都很喜欢用STM32,复杂点的上F10x系列,简单的上F030系列,因为熟悉,用起来顺手,但是站在产品的角度,需要考虑到成本,不会管要牺牲工程师多少脑细胞的。

有一次,我在一家公司做研发,硬件工程师为节约几个电容的成本,导致纹波大,产品在某些特定环境,出现通讯数据问题,大批量退货,研发部通宵加急整改。

产品也很简单,可以说功能的程序部分,哪怕是应届生调上一段时间,也能调出来。

但是又如何?很多新手的想法和标准,仅仅是在实现功能上,而非能保证低成本的同时,可靠性,稳定性又好。

所以,我经常对那些看不起51单片机的人说一句话,功能再简单,做成产品也不容易啊。

同时,我也想表达一个信号,做国内消费类产品,特别是对成本敏感度,工程师都比较想砸键盘。

觉得单片机简单的人,大多都还停留在表层,真正的高手,不是把简单的事情复杂化去炫技,而是能够把复杂的事情简单化,并且考虑到各种潜在的风险。

比如,以前我们有个经理,一直在做51单片机程序,他写单片机程序从来不用指针。

为什么?

因为他曾经在一个量产项目中栽过跟头,小批量测试没问题,大批量却出现几率性死机,被老板骂得狗血淋头。

从那以后,他老实了,能简单,哪怕笨一点的方法,也要确保代码的稳定性。

说到稳定性,这又是一个大话题,做单片机开发的,恶心就恶心在不可控因素太多,涉及硬件软件,其中一个环节有问题,产品就是有缺陷的。

很多人抱怨,MD屁事多工资低,都去卷纯软件,也不是空穴来风,特别是做硬件设计,特别容易背锅,但是能精通,工资也是很高的。

软件的可靠性设计包含很多方面,小项目还好,代码不多,能实现功能就行了,不用指针完全是没问题的,而且单片机资源也有限,代码多了也放不下。

如果是大项目,代码则要复杂很多,要考虑到后期的维护成本,所以实现功能的同时,要保证功能扩展的灵活性,可移植性,这就必须要用指针来实现的。

回顾这些年的经历,从最初的51单片机,到现在的ARM Cortex-M系列项目,再到各种专用芯片,一个看似简单的功能背后,在内行人眼里,可能都隐藏着复杂的硬件设计和软件算法。

所以,当有人说单片机简单时,我总是保有敬畏之心。

因为我知道,他们可能只是关注单片机本身,而真正的产品开发,是涉及硬件、软件、协议、算法、平台等多个领域,是通用技能和行业的知识储备和实践经验。

最近有些老铁找我咨询学单片机,聊完发现99%的人都走了弯路,特意写了一篇单片机学习路径:
单片机不踩坑的学习路线icon-default.png?t=N7T8https://blog.csdn.net/2301_78464137/article/details/141396541

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值