经过沁恒销售的推荐,发现 CH32X035 这颗芯片。既有足够的内存 Flash,还同时支持 PD 诱骗,引脚还比较多,非常适合现在的需求。
这周主要跑通了芯片的 GPIO、ADC、TIM 定时器、中断、PWM 等功能,算了入了一半的门。
接下来要搞定的环节还有挺多,比如驱动数码管、PD 诱骗、风扇 PWM 测速及驱动等。
独立开发,自由职业
经过沁恒销售的推荐,发现 CH32X035 这颗芯片。既有足够的内存 Flash,还同时支持 PD 诱骗,引脚还比较多,非常适合现在的需求。
这周主要跑通了芯片的 GPIO、ADC、TIM 定时器、中断、PWM 等功能,算了入了一半的门。
接下来要搞定的环节还有挺多,比如驱动数码管、PD 诱骗、风扇 PWM 测速及驱动等。
最开始做硬件时,因为不熟悉、图方便,就用了 Arduino 进行开发。确实,相对简单、容易上手。
可是,当要继续深入时,发现 Arduino 不太够用了。并且,MCU 厂商普遍把 Arduino 当玩具,基本不会提供基于此的技术支持。
因此,当对芯片的使用变得深入时,就越来越遇到困难。特别是从 Air001 这颗支持 Arduino 开发的 MUC,切换到其他不支持 Arduino 的 MCU 时,还是要学习 STM32 HAL 那一套开发模式。之前想省事而学的 Arduino,反而成了沉没成本。
这就是个选择:当学习一门新东西时,是先学习简单容易上手的,然后再过渡到专业且难的实现,还是直接学习后者?前者容易入门,后者总体成本低。
号外:有了先驱,后来模仿者会容易很多。比如,STM32 是业界标杆,后来都在硬件和软件接口上,全面模仿,省了大量为什么、怎么做的研发阶段,直接上是什么的实现。而由于硬件引脚、软件接口都是兼容的、甚至是一致的,使用者也更容易进行替换。
当然,这并不意味着一切都是容易的。相同的引脚和接口背后,是复杂未可知的实现。我觉得硬件有着反 28 定律:80% 的精力,都在补 20% corner case 的洞。
我开发的它适加热板和棒,获得年度创新产品称号。
挣扎了一天,在 macOS Eclipse 中使用 gdb 调试,都失败了。
riscv-none-embed-gdb,同样的命令,在系统 Terminal 中能正常运行,在 Eclipse 的 Terminal 中,就会 hangs up/CPU 100%
后来,几乎放弃,准备在 Windows 下搭建开发环境了。
最后,终于配置成功,可以使用 VSCode + EIDE + Cortext Debug 开发调试 CH32V003 芯片。
准备完开发环境,可以写代码、堆功能了。
谨慎选择小厂 MCU,可能会慢慢断货。比如合宙,目前重心转向 4G,之前生产的 MCU,慢慢就不再出片了。
1,Air001 目前是中止推广状态
2,Air001 目前只整盘出售
3,新项目不再推广和建议使用
4,Air001 没有技术支持
5,建议客户切换或适当囤货
那选什么呢?
国内最大的是兆易,可惜太贵,入门 MCU 要 4 元多。
选了一圈,最后暂定沁恒的 CH32V 系列,入门大概 0.76 元。