VScode环境兼容keil C251

使用Vscode编辑keil工程 1. Keil Assistant2. C/C++3. 中文配置: 1. Keil Assistant添加Keil的安装路径 接下来就可以使用vscode编辑Keil的工程了,调试编译和下载程序需要返回到Keil中进行操作。可以自定义进行配置: 阅读详情
AI摘要

文章讲述了如何在VScode环境下编写针对C251单片机的代码,并确保其与KeilC251编译器兼容。通过使用条件编译宏,如`#ifdefOPEN_VSCODE_DEBUG`,以及头文件`debug.h`来处理特定的中断和数据类型定义,使得代码能在调试和烧录前进行适当的切换。

VScode环境下 开发单片机keil c251 兼容脚本

由于开C251中 bit 中断 等等会有没定义的情况 ,可以用这头文件解决
但是需要注意的是,改代码在编译环境下 必须不包含进去,不然编译会出错
这是调用方法

#define OPEN_VSCODE_DEBUG //注释该行,将不进入VSCODE调试,为了VSCODE代码编写兼容keil,在烧录前务必注释该行
#ifdef OPEN_VSCODE_DEBUG
#include "../debug/debug.h"
#endif

下面是debug.h

/***
 * !!! 不要在项目编译环境下中包含此文件!,它只能用于代码分析! !!! 
*/

#ifndef __VSCODE_CPPTOOL
#error "不要在项目中包含此文件!,它只能用于代码分析!"
#endif // !

#ifdef _WIN32
#undef _WIN32
#endif

#ifdef _MSC_VER
#undef _MSC_VER
#endif

// compiler flags
#ifdef __SDCC

// keywords
#define __reentrant
#define __trap
#define __critical
#define __interrupt(x)
#define __using(x)
#define __at(x)
#define __asm__(x)

// for pic
#define __wparam
#define __shadowregs

// storage type
#define __data
#define __idata
#define __pdata
#define __xdata
#define __code
#define __far
#define __near

// internal value type
typedef __bit __bit;
typedef __sbit __sbit;
typedef __sfr __sfr;
typedef __sfr16 __sfr16;
typedef __sfr32 __sfr32;

#else // Keil C51

#define __C51__

/*
外部中断0   入口0
T0溢出中断  入口1
外部中断1   入口2
T1溢出中断  入口3
串行口中断  入口4

*/
#define interrupt
#define using
#define _at_
#define _priority_
#define _task_

// storage type
#define reentrant
#define compact
#define small
#define large
#define data
#define bdata
#define idata
#define pdata
#define xdata
#define code

// internal value type
typedef bit bit;
typedef sbit sbit;
typedef sfr sfr;
typedef sfr16 sfr16;
typedef sfr32 sfr32;

#endif

Keil5反人类?来试试VSCode写C51单片机程序! 不少使用Keil做C51程序开发的初学者都面临这一个极其严重的问题——这破玩意没有自动补全?!!!刚开始可能代码只有十几行,没有什么函数调用。但一旦开始使用模块化编程,或者定义了十几个变量的时候,你就会开始头皮发麻——这个函数叫啥来着?它要传什么参数来着?这个变量叫啥?我是谁?我在哪?我在干什么?那么,我们不妨祭出地表最强IDE——VSCode来解决这些问题吧! 阅读详情

相关推荐

Keil5多编译器协同安装:MDK/C51/C251共存部署指南

Keil uVision5并非单一IDE,而是支持ARM、8051、MCS-251等多架构的嵌入式开发环境集成平台。其核心原理在于三套独立编译器内核(MDK-ARM、C51、C251)与共享IDE的松耦合架构,依赖TOOLS.INI配置文件统一调度路径与许可证。技术价值体现在跨芯片生态开发能力——如STM32与STC51混合项目调试、国产GD32替代验证等工程场景。实际应用中需严格遵循安装顺序、路径隔离与DFP预置等关键实践,否则将引发编译器不可见、hex生成失败、Target类型缺失等典型问题。本文聚焦K

weixin_34320159的博客 240

解决在vscode上写c251代码的一些小bug

这个错误出现的原因是code是 Keil C51/C251 等编译器特有的关键字(用于指定变量存储在 Flash 中),但标准的 VS Code C++ 插件并不认识它,所以它会在 code 后面提示“应输入分号”,并导致整个数组解析失败。选择第一个,到环境配置文件里面更改,在defines中加上这一句话“STC32G144K246”,即指定芯片型号,这时会发现只剩下一个错误。在使用逐飞库或者龙邱库的时候,我们会发现即使代码没有问题,这边还是会报错,这时我们按住ctrl+shift+p。

2501_91417551的博客 336

STC32G12K128开发环境搭建:从Keil兼容到VSCode跨平台实战

STC32G12K128作为增强型8051架构单片机,虽兼容8051指令集,但其48MHz主频、硬件FPU、独立ADC时钟等ARM级外设特性,使其无法直接复用传统8051开发流程。其核心挑战在于工具链断层:Keil C251编译器已停止更新,需手动改造启动代码与寄存器头文件;CH341SER驱动受Windows签名策略限制,需精准劫持认证链;STC-ISP烧录器依赖私有USB协议,非标准串口工具无法通信。技术价值体现在对嵌入式底层构建能力的深度锤炼——涵盖链接脚本定制、中断向量重定向、Bootloader握

weixin_34295316的博客 335

单片机开发框架

单片机程序开发框架

dirhack的博客 901

STC32G在VSCode中头文件报错?Keil能过但编辑器红波浪线怎么破

嵌入式开发中,编辑器与编译工具链的路径体系往往相互独立,这常导致代码在Keil中能正常编译,换到VSCode却出现头文件无法打开的红色波浪线。VSCode的C/C++智能感知依赖明确的includePath、defines等配置才能建立代码索引,而Keil的工程文件并不会被自动读取。理解这一原理,是搭建跨工具链编辑环境的关键。本文从C语言交叉编译常见问题切入,结合STC32G工程实践,讲解如何通过c_cpp_properties.json或Embedded IDE插件让VSCode正确识别C251头文件,并

weixin_42520573的博客 186

配置VSCode辅助keil5 MDK进行STM32开发

在最近的学习过程中发现Keil 的编辑器对于代码的补全、编译的速度较慢等问题令人烦心,于开始尝试使用 VS Code 辅佐 Keil MDK 编辑器不仅可以提高工作效率,还可以利用 VS Code 强大的插件生态和灵活的配置,定制出适合自己开发风格的开发环境。搜索C/C++ 安装第一个插件(我之前已经配置过了所以已经安装好了)下面同理。路径可以右键keil图标,点击属性查看。3.Keil与VS Code的同步。

s158112的博客 1271

在VScode上写stc32g(C251)代码出现头文件报错,即找不到路径的问题

希望我写的博客能给大家帮助,如果有什么问题欢迎在评论区讨论。在“includePath”中加入"D:/Keil5/C251/INC/**",这个路径是keil的C251头文件路径(重点改这里),还有一个要修改的地方是“defines”加上“C251”,这是告诉告诉编译器是C251环境,避免头文件识别异常,这两个改完就可以正常使用了。这个问题核心原因是 VSCode 的 IntelliSense(智能提示)没有正确识别 C251 头文件的路径,或者路径配置有误。问题如下,代码都没有问题,但头文件报错。

2501_91417551的博客 268

VS Code 安装并配置 Keil5 的详细步骤

在 Visual Studio Code (VS Code) 中集成 Keil MDK-ARM (Keil5) 的开发环境,可以通过以下步骤实现。Keil5 主要用于嵌入式开发(如 ARM Cortex-M 系列芯片),虽然它本身是一个独立的 IDE,但可以通过配置 VS Code 实现代码编辑、构建和调试的整合。通过以上步骤,你可以在 VS Code 中高效编写代码,同时利用 Keil5 的编译和调试功能。提供 ARM Cortex-M 调试支持(需配合 J-Link、ST-Link 等调试器)。

3017

VSCode+Keil协同开发之Keil Assistant

大家在单片机开发时需要要用到IDE,其中Keil就是很多人的选择,但Keil在编辑器上界面还是有些简单,对于习惯了VSCode的同学来说有点小别扭,下面就给大家介绍一款VSCode插件————Keil Assistant,可以帮助大家解锁更舒适、更效率的开发姿势。

掌芯元器 1万+

Keil5安装实战:C51与STM32共存及破解激活全解

嵌入式开发中,集成开发环境的选择直接影响效率。针对8051内核的C51编译器和针对ARM Cortex-M的MDK-ARM分别对应不同单片机家族。许多开发者需要同时进行C51单片机与STM32开发,而Keil5通过共享IDE实现了两套工具链的融合。本文从环境配置角度,详解Keil MDK与C51的安装顺序、芯片支持包添加以及License激活方法,尤其针对“2K限制”等常见问题给出排查方案。掌握这一套流程,即可在单一Keil5界面下灵活切换AT89C52与STM32工程,为学习与项目实战打下坚实基础。

weixin_33795806的博客 453

告别Keil/IAR:用VSCode + EIDE插件搭建国产Cortex-M芯片开发环境(含PyOCD配置避坑指南)

本文详细介绍了如何利用VSCode和EIDE插件搭建国产Cortex-M芯片开发环境,替代传统的Keil/IAR工具。内容涵盖环境配置、项目迁移、PyOCD调试优化及效能提升技巧,特别针对国产芯片的特殊问题提供解决方案,助力开发者实现高效、现代化的嵌入式开发流程。

weixin_33671935的博客 494

Keil MDK与C51/C251三合一:一个软件搞定ARM和8051开发

嵌入式开发中,IDE与编译器的关系是工程师必须理解的基础概念。以单片机开发为例,STM32等ARM芯片依赖MDK工具链,8051系列则使用C51编译器,而251内核芯片需要C251支持。传统观念认为必须安装多个独立IDE,其实Keil uVision5统一了编辑、调度与调试界面,MDK、C51、C251只是不同的后台编译工具链。理解“共用IDE、独立编译器”这一原理后,即可通过合理的安装顺序或目录合并,将三套工具链集成到同一Keil_v5目录,实现一个工程窗口自由切换ARM、8051和251项目。这种合装方

weixin_33797791的博客 417

Keil uVision2 C51版详解:从安装配置到工程实战与报错排查

嵌入式开发中,单片机工具链的选择直接影响开发效率。Keil C51作为8051内核单片机的主流集成开发环境,其经典版本uVision2凭借轻量、快速、稳定的特点,至今仍在教学和工业场景中广泛使用。本文从工具链的基本概念出发,讲解uVision2与MDK的区别、环境搭建的兼容性设置、工程创建与编译流程,并结合LED控制、数码管显示、printf串口重定向等典型示例,演示从编写代码到生成HEX文件、烧录下载的完整链路。同时梳理C51编译过程中的常见报错与调试技巧,帮助初学者快速定位问题。最后探讨从C51向MDK

weixin_34195142的博客 492

VS Code User和System版区别【推荐使用System版本】and VSCode+Keil协同开发之Keil Assistant

把软件也分用户和系统管理员,对于普通用户而言,为了避免不必要的麻烦,建议使用System版,仅供参考。对于User版安装程序以及VScode程序默认均为英文,貌似不能读取系统语言环境,System版直接是中文安装程序,以及中文显示面板。User版本无法在系统分区(盘) 创建默认文件夹Microsoft VS Code,可见权限不足。Visual Studio Code官网却提供了User和System两个版本。对于System版无此问题,可next step到底,和其他不分的软件一样了。

宁静致远的博客 9336

VSCode+Keil协同开发[可运行源码]

本文介绍了如何通过VSCode插件Keil Assistant实现与Keil的协同开发,提升嵌入式开发的效率和舒适度。Keil Assistant是一款专为VSCode设计的辅助工具,支持Keil uVison 5及以上版本,仅适用于Windows平台。它能够加载Keil C51/C251/ARM项目,提供语法高亮、代码片段功能,并支持编译、下载等操作。文章详细介绍了插件的部署步骤,包括VSCode的安装、C/C++插件的配置以及Keil Assistant的安装与设置。此外,还提供了使用指南,帮助开发者快速上手。通过Keil Assistant,开发者可以在VSCode中更高效地管理Keil项目,享受更流畅的开发体验。

从防御者视角复盘:用WinArpAttacker和Wireshark在Windows上模拟并检测ARP欺骗攻击

本文详细解析了Windows平台下的ARP欺骗攻击与防御策略,通过WinArpAttacker和Wireshark工具模拟攻击并检测异常流量。文章涵盖实验环境搭建、攻击原理深度解析、流量特征分析及企业级防御方案,帮助安全运维人员全面掌握ARP攻击检测与防护技术。

weixin_30918633的博客 121

Keil5 MDK/C51/C251并行安装核心原理与避坑指南

Keil5并非单一IDE,而是由MDK(ARM)、C51(8051)和C251(MCS-251)三套独立编译器内核构成的嵌入式开发工具链。其本质是许可证绑定硬件指纹、编译器内核隔离、设备支持包分域管理的复合系统。技术价值在于支撑多架构混合开发(如STM32+STC协同),但需规避路径含空格/中文、License跨编译器复用、Pack版本错配等致命风险。典型应用场景包括高校电子竞赛(双芯教学板)、工业升级(老PLC+Cortex-M新控)、医疗设备(多MCU异构系统)。本文聚焦Keil5安装底层逻辑,详解MD

weixin_33957648的博客 400

【有啥问啥】智能座舱CPD技术:毫米波雷达如何守护儿童安全?

本文深入探讨了智能座舱中CPD(Child Presence Detection)技术如何通过毫米波雷达保障儿童安全。毫米波雷达凭借其穿透性检测、微动感知等优势,成为儿童遗留车内的有效解决方案。文章详细解析了技术原理、系统集成方案及安装指南,为智能座舱安全技术提供了实用参考。

weixin_29193259的博客 357

VSCode+Keil协同开发:Keil Assistant 配置到 TaoToken 的完整实践

在 VSCode 里用 Keil Assistant 加载 .uvprojx 工程后,把编译链路与模型调用统一收敛到 TaoToken:先备好 Base URL、API Key、Model ID 三件套,再写入 settings.json 并 curl 验证连通性。官网 https://taotoken.net/?utm_source=taotoken_aicg_blog_end 提供接入文档与模型列表,401、local proxy failed、reading choices 等报错可按分层思路快速定位

weixin_35750747的博客 11

10分钟训练你的AI歌手:RVC WebUI声音克隆保姆级教程

本文提供了一份详细的RVC WebUI声音克隆保姆级教程,指导用户如何在10分钟内利用Retrieval-based-Voice-Conversion技术训练专属AI歌手。教程涵盖从环境配置、数据准备、模型训练到最终推理应用的全流程,即使是新手也能快速上手,实现高质量的声音克隆与歌曲生成。

weixin_29073241的博客 818

C#实现跨域访问共享文件夹的账号密码验证方案

本文详细介绍了在C#中实现跨域访问共享文件夹的账号密码验证方案。通过调用Windows API LogonUser函数,结合LOGON32_LOGON_NEW_CREDENTIALS登录类型,可安全模拟指定用户身份,有效解决工作组与域环境间的文件共享访问难题。文章提供了完整的工具类封装、多种实战场景示例及详细的错误排查指南。

pea55的博客 539

【STM32F407】Note_01 STM32 编程环境搭建 -- Keil与VS code组合

Keil和vs code的组合使用环境搭建

Seasons_y的博客 3607

周志华《机器学习》课程系列笔记——目录导航页

最近自学机器学习课程,注意到了南京大学周志华老师的课程。我是在学堂在线平台观看的,注意到b站上也有相应视频,但b站上并未获得授权,随时有消失的可能。周志华老师的网络教学视频中,与其西瓜书相比确实少了一些内容。但幸运的是,缺失的内容实际上对于初学者来说并不会产生太大影响。目前这一笔记也遵循视频内容,相比西瓜书中也会有一些缺失,敬请谅解。可能以后如果有机会和时间,我会再阅读周志华老师的书籍将缺失内容补全。一切内容敬请关注我的个人Page页面。

Sinocifengs的博客 1686
上一篇: 单片机比特率计算公式
下一篇: reg52.h中文详细注解
程序猿Debug
博客等级 码龄12年 14粉丝 8原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序猿Debug

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值