VScode环境兼容keil C251

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

程序猿Debug

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

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

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

打赏作者

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

抵扣说明:

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

余额充值