1223 - 循序渐进还是一步到位?

最开始做硬件时,因为不熟悉、图方便,就用了 Arduino 进行开发。确实,相对简单、容易上手。

可是,当要继续深入时,发现 Arduino 不太够用了。并且,MCU 厂商普遍把 Arduino 当玩具,基本不会提供基于此的技术支持。

因此,当对芯片的使用变得深入时,就越来越遇到困难。特别是从 Air001 这颗支持 Arduino 开发的 MUC,切换到其他不支持 Arduino 的 MCU 时,还是要学习 STM32 HAL 那一套开发模式。之前想省事而学的 Arduino,反而成了沉没成本。

这就是个选择:当学习一门新东西时,是先学习简单容易上手的,然后再过渡到专业且难的实现,还是直接学习后者?前者容易入门,后者总体成本低。

号外:有了先驱,后来模仿者会容易很多。比如,STM32 是业界标杆,后来都在硬件和软件接口上,全面模仿,省了大量为什么、怎么做的研发阶段,直接上是什么的实现。而由于硬件引脚、软件接口都是兼容的、甚至是一致的,使用者也更容易进行替换。

当然,这并不意味着一切都是容易的。相同的引脚和接口背后,是复杂未可知的实现。我觉得硬件有着反 28 定律:80% 的精力,都在补 20% corner case 的洞。