最开始入坑单片机的时候,纠结了好久stm32用什么软件编程,挨个实测踩坑后才摸清不同软件的适配场景。

stm32编程软件KeilMDK使用经历

最开始学长推荐的就是KeilMDK,也是入门STM32最常用的软件,当时直接装了最新版本,结果打开工程就频频报错,折腾半天都不知道问题出在哪。后来才反应过来,不是软件版本越高越好,老旧的STM32F1、F4系列芯片,适配Keil5就足够,盲目装最新版反而会缺失适配固件包,导致编译失败、芯片选型空白。

实操的时候发现这个软件的操作逻辑很贴合新手,界面简洁,工程搭建步骤固定,网上九成以上的入门教程都是基于KeilMDK编写的。当时初学点灯、串口通信、中断实验,用这个软件几乎不用额外适配,导入标准库工程就能直接修改代码编译,调试功能也很基础够用,断点调试、变量查看的操作都很简单。

但它的短板也很明显。

代码编辑功能特别简陋,没有自带智能补全,写错变量名、函数名很难第一时间发现,全靠自己逐行检查。而且正版需要付费,网上的破解版偶尔会出现编译卡死、工程文件损坏的情况,当初做课程设计的时候,就因为软件闪退丢失过一次未保存的代码。

stm32编程软件STM32CubeIDE使用经历

后来学习HAL库开发,老师统一要求用STM32CubeIDE,这款是ST官方免费推出的专属编程软件,完全适配全系STM32芯片,不用折腾破解,这点特别省心。

第一次用的时候很不适应,它的界面和操作逻辑和Keil完全不同,工程创建、编译设置、下载配置的步骤都要重新学习。最麻烦的是前期配置,需要搭配STM32CubeMX图形化工具初始化芯片引脚、时钟、外设,新手第一次操作很容易漏配参数,导致程序下载后板子毫无反应。当时折腾了一下午,才发现是时钟树配置错误,导致整个程序无法运行。

适配性是它最大的优势。所有新款STM32芯片都会优先适配这款软件,HAL库、LL库的开发支持拉满,做复杂项目、新品开发基本都是首选。自带的代码智能补全、语法纠错功能很实用,能大幅减少手写代码的低级错误,而且官方持续更新维护,不存在版本兼容的漏洞问题。

stm32编程软件VSCode搭配插件使用经历

身边不少做竞赛、项目开发的同学,都在用VSCode搭配STM32插件编程,当时跟风尝试了一段时间。这款软件本身是通用代码编辑器,轻量化、界面清爽,自定义程度极高,可以安装各种语法高亮、代码格式化插件,写代码的体验比前两款好很多。

但门槛是真的高。需要手动配置编译环境、下载工具、固件路径,全程需要接触命令行,没有任何图形化快捷操作。零基础新手大概率配置半天都搭不好开发环境,当初我跟着教程一步步配置,还是出现了环境变量冲突、编译工具不匹配的问题,折腾很久才勉强能用。

编程软件适配场景核心优势存在短板
KeilMDK新手入门、标准库基础实验操作简单、教程资源多、上手快新版兼容性差、无智能补全、需破解
STM32CubeIDEHAL库开发、新款芯片、正式项目官方免费、全系适配、功能完善前期配置繁琐、入门学习成本高
VSCode进阶开发、大型项目、个性化编码轻量化、体验好、扩展性强环境搭建复杂、不适合零基础

新手直接选KeilMDK入门就行。

其实不用贪多求全,初学阶段吃透一款软件就足够应对所有基础实验,盲目更换工具只会浪费大量调试和学习的时间。当初自己就是太贪心,三款软件来回切换尝试,白白耽误了半个学期的学习进度。