最近看到一个问题,原话如下:
如果为后面找工作的做铺垫的话,闭眼冲STM32,更通用。
ESP32适合工作用到了WiFi和蓝牙功能需求时,再针对性学习。
从行业应用来说,STM32更加广泛,不管是工业控制,汽车电子,还是消费电子。
如果项目需要用到WiFi+蓝牙功能,那用ESP32会很合适。
如果对于找工作来说,其实掌握哪种单片机都无所谓,最主要的是你做过哪些具体的行业应用(项目),这才是核心竞争力。
如果学STM32的话,我建议直接通过项目学,效率高一点。
就像开车一样,不一定非要把车所有功能都摸透,才能把车开走,知道挂挡、踩油门、踩刹车、控方向都够了。
随着不同的路段,不同的需求,再针对性去学习别的功能,慢慢就系统了,有些功能,车开到报废了也用不上。
STM32也一样,不一定非要把所有外设学完,才能做项目。
可能你做几十个项目,有些外设也用不上,比如FSMC、USB、SD卡....
个人认为,新手学STM32最容易走弯路的就是系统学。
我是公司项目需要用到STM32时,顺带学的,差不多花了2,3周时间,把项目涉及到的外设用起来。
当时也很懵,很多理论层面的东西没搞懂,但是项目比较急,也没时间深入去研究,反正外设能用起来就行了。
后面用stm32做的项目多了,反而觉得,自己误打误撞搞对了学习方法。
如果编程功底不到位,没用过几款ARM的单片机,没做过项目,就系统深入去学STM32是很费劲的,很多概念都搞不懂。
工作中,如果碰到自己不熟悉的单片机,也不用慌。
现在mcu厂之间也挺卷的,一般都有提供详细资料,技术支持,外设例程。
老工程师研发产品都是直接拿例程过来改改,外设用起来就行了,没那么多时间给你去深入研究单片机,除非有一种情况,由于成本限制,需要把单片机性能压榨到极致。
这种需求,用51单片机做项目的居多,别看51单片机简单,真正把性能压榨到极致,也是需要水平的。
如果现在哪款单片机,厂家想推出去,既没什么资料,又不提供外设例程,大概率推不动,除非价格,性能有特别的优势。
我们80后这一代,做单片机开发,普遍比较苦逼。
以前有个经理做一个项目,用到一颗芯片,不要说例程了,连资料都特么是日语的,只能靠自己的经验,去推测寄存器配置。
现在的趋势是,芯片厂不希望你把精力,浪费在研究他们芯片上,而是赶紧把产品开发出来,给我冲量(挣钱),只要你量管够,技术支持住在你们公司旁边都行,小公司做研发就比较惨了,供应商基本不理你。
这块ST布局的最早,从早期的固件库,到现在的stm32cubeMX,就是为了加快产品开发进度,后面国内MCU厂都纷纷效仿这种方式。