news 2026/10/28 2:06:18

用 VS Code 开发 51 和 STM32

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
用 VS Code 开发 51 和 STM32

如果你用 Keil 写过一段时间代码,大概都经历过这几个瞬间:

写了一百多行,想把一个变量名改掉,只能一个一个手点着改。
函数跳转全靠 Ctrl+F 搜文本,搜出来的位置还得自己判断哪个是对的。
深色模式挑来挑去就那几个,字号调大一点界面就错位。
旁边开着资料、开着串口助手、开着仿真,切窗口切到手酸。

µVision 是个很稳的 IDE 和工具链,但它的编辑器,是二十年前的编辑器。

所以这几年越来越多人在做一件事:把 Keil 留着,把编辑器换掉。


先说结论:VS Code 不是替代 Keil,而是给 Keil 换个外壳

这一点特别重要,很多新手会误会。

VS Code 本身不会编译单片机代码。它没有 C51 编译器,也没有 ARMCC。你真正在用的编译工具链,还是 Keil 里那套。

那 VSCode 做了什么?

举个最直白的例子。你在 VS Code 里点「编译」,背后实际发生的事是:

也就是说,编译内核一个字都没变,变的只是你敲代码和看报错的那块界面。

这一点带来一个很实际的好处:工程文件、芯片型号、编译选项、生成的 hex,和你在 Keil 里编译出来的完全一样。拿去下载、拿去仿真、拿去答辩,没有任何区别。老师看不出你用的是什么编辑器,也不影响任何评分标准。


为什么推荐用 VS Code 写 51 和 STM32

1. 代码补全,是质的差距

Keil 的编辑器基本没有智能补全。寄存器名、结构体成员、函数参数,全靠记忆和手册。

VS Code 里,GPIO_InitTypeDef敲几个字母就有提示;结构体成员会列出来让你选;写错了当场标红。改代码从"回忆 + 查手册"变成"选一下"。

2. 跳转和查找,一次到位

按住 Ctrl 点函数名直接跳到定义,Shift+F12找出所有调用位置,全局搜索可以精确到目录。

Keil 里这一套要么没有,要么很难用。

3. 一个窗口管所有语言

51 的 C 代码、STM32 的 C 代码、上位机脚本、Python 数据处理、文档的 Markdown,全在同一个窗口里,左边树状展开,不用来回切 IDE。

做毕设的时候特别明显:代码、报告、仿真截图、资料,一个窗口全找得到。

4. 插件生态,按需扩展

常用的几个:

  • Chinese (Simplified)—— 一键汉化界面
  • Keil Assistant—— 就是它把 VS Code 和 Keil 接起来的,编译、下载按钮直接出现在侧边栏
  • C/C++—— IntelliSense 本体,补全和跳转都靠它
  • Bracket Pair Colorizer / Error Lens—— 括号配对、报错直接标在行尾
5. 内置 Git,代码有版本

改崩了能回滚,做完一版能存档。这一条在毕设里救过很多人——「昨晚还好的,今天怎么编译不过了」。

6. 现在还能接 AI

这是最近两年才有的变化。装个 DeepSeek 或 Claude 的插件,可以让它帮你解释一段寄存器配置、给代码加注释、看报错信息。

以前查一个莫名其妙的编译错误要搜半小时,现在贴进去问一句,它能告诉你大概是头文件路径没配好。这不是万能的,但确实省时间。


和 Keil 的分工,一张表说清

谁来干
写代码、改代码、看代码VS Code
代码补全、跳转、查找VS Code
版本管理、AI 辅助VS Code
C51 / ARMCC 编译Keil(必须装)
芯片器件包(Pack)Keil
生成 hexKeil(由 VS Code 一键调用)
电路仿真Proteus(可选)
烧录到实物ST-Link + 工具(可选)

看出规律了吗:VS Code 负责"写",Keil 负责"编译"。两个都要装,谁也替不了谁。


三个坑,先告诉你,省得踩

坑一:以为装了 VS Code 就不用 Keil 了

不行。Keil 必须装好、能正常编译,VS Code 才有东西可以调用。而且 Keil 的路径还得手动指给插件——很多人卡在这一步,插件装好了但点编译没反应,就是因为没配 Keil 路径。

坑二:第一次编译会提示装 .NET

Keil Assistant 依赖 .NET,第一次点编译会弹窗让你装,装完要重启 VS Code。这个过程可能需要装两次、重启两次,看到报错别以为是装坏了。

坑三:调试功能不如 Keil

VS Code 能编译、能下载,但断点调试、寄存器窗口、外设状态查看这些,还是 Keil 更完整。所以现实做法是:日常写代码用 VS Code,需要深入调试的时候回 Keil。

(另外:GitHub 登录、插件市场在有些网络环境下会慢或者连不上,这属于国内访问境外服务的普遍情况,跟软件本身没关系。登录不上可以点"跳过",不影响后面的插件安装。)


这期视频讲了什么

不是只讲"怎么装 VS Code",而是从装软件到板子上灯闪起来,完整走一遍:

第一部分 · 装软件

  • VS Code 2026 安装(解压密码、安装路径改 D 盘、组件勾选说明)
  • 汉化:安装中文插件、重启生效

第二部分 · 配环境(核心)

  • 新建配置文件,把 51 和 STM32 分开管理
  • 安装 Keil Assistant 插件
  • 配置 Keil 路径(从快捷方式「属性 → 目标」复制,这一步很多人会错)
  • 配置 .NET 依赖

第三部分 · 验证 51

  • 打开 51 测试工程 → 信任文件夹 → Keil 图标出现在侧边栏
  • 编译 → 0 错误 → 生成 hex

第四部分 · 验证 STM32

  • 打开 STM32 测试工程 → 添加 Keil 工程文件
  • 编译 → 0 错误 1 警告
  • 打开 Proteus 仿真,导入 hex,看到 PC13 灯闪

第五部分 · 烧到实物

  • ST-Link 四根线怎么接(SWCLK / SWDIO / GND / 3.3V)
  • 烧录、擦除、下载
  • 板子上的灯真的闪起来了

第六部分 · 进阶

  • 配置 AI 插件(DeepSeek / Claude)
  • 让 AI 帮你读代码

视频

https://www.bilibili.com/video/BV1BpnR6BE2R/


最后

工具的意义,从来不是让事情看起来很酷,而是让你少花时间在跟工具的搏斗上。

Keil 稳,但编辑器老;VS Code 好用,但离不开 Keil。两个一起用,是现在比较舒服的解法。

如果你正被 Keil 的编辑器折磨着,这期视频大概能省你一个下午。


版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/28 2:05:34

DM日常运维常用命令

1、查询已执行未提交的sql select t1.sess_id,t1.clnt_ip,t1.appname,t1.sql_text,t1.state,t1.trx_id from vsessionst1,vsessions t1,vsessionst1,vtrx t2 where t1.trx_idt2.id and t1.state‘IDLE’ and t2.status‘ACTIVE’; 2、踢掉连接 call sp_close_session(SESS_ID);…

作者头像 李华
网站建设 2026/10/28 2:05:21

计算机毕业设计 | SSM 旅游网站后台管理系统(附源码)

👆👆 需要源码?👆👆 联系我!👆👆看这里!👆👆 1,概述 1.1 背景分析 随着人们生活水平的提高和对休闲旅游的日益重视,旅游业…

作者头像 李华
网站建设 2026/10/28 2:05:04

从零手写 Go 区块链:PoW 共识 + 默克尔树 + 交易池完整实现

很多人学了很久区块链,背得动哈希、默克尔树、工作量证明这些名词,真到动手写代码的时候就卡壳。其实区块链的核心逻辑并没有那么玄乎,抛开 P2P 网络、持久化、智能合约这些外围模块,最内核的东西就是「链式存储 共识算法 交易处…

作者头像 李华
网站建设 2026/10/28 2:03:13

YOLO11改进之自适应阈值Focal Loss:街景感知场景下的误检降低方案

结论先行:街景感知中的误检,很大一部分根源不在检测头,而在分类损失对“简单背景”的过度宽容。2026年5月发表于 Applied Intelligence 的 BiFP-ATFL-YOLO11 工作,在 YOLO11 上引入自适应阈值 Focal Loss(ATFL) 与 BiFPN,在 BDD100K 真实街景上将 mAP@0.5 从 51.10% 推至…

作者头像 李华
网站建设 2026/10/28 2:02:41

大面积太阳光模拟器如何提高辐照均匀性

航天载荷标定、热平衡试验要求大面积太阳光模拟器给出均匀照射。面积放大不带来辐照均匀性。研究表明太阳光模拟器光学系统的难点在聚光、匀光与投影。把自由曲面聚光器、光学积分器和远心投影系统串成一条光路。大面积辐照系统在 1200 mm1200 mm 面内,不均匀性压到…

作者头像 李华
网站建设 2026/10/28 2:02:28

把发朋友圈变成 “排期“ 之后,我再没为发圈定过闹钟

做私域久了,你就会发现一件事:朋友圈这块阵地,从来没人真正"自由"过。手里攥着三五个号,同一个活动得复制粘贴五六遍;更别提那些"提醒谁看""部分可见"的小心思,每调一次&…

作者头像 李华