keil c 的错误error C141: syntax error near '='

#include <reg51.h>

#define LED P1^1
#define KEY_ON P1^6
#define KEY_OFF P1^7

void main(void)
{
KEY_ON = 1; //开关亮输出高电平,接通就变为低电平
KEY_OFF = 1; //开关灭输出高电平,接通就变为低电平
while(1)
{
if(KEY_ON==0) LED = 1;
if(KEY_OFF==0) LED = 0;
}
}
//就是这一小段程序 编译提示:
compiling LED_ONOFF.c...
LED_ONOFF.C(9): error C141: syntax error near '='
LED_ONOFF.C(10): error C141: syntax error near '='
LED_ONOFF.C(13): error C141: syntax error near '='
LED_ONOFF.C(14): error C141: syntax error near '='
Target not created

#define是宏定义语句
很明显楼主想做的是位操作,应该改将#define LED P1^1
#define KEY_ON P1^6
#define KEY_OFF P1^7
改为
sbit LED = P1^1;
sbit KEY_ON = P1^6;
sbit KEY_OFF = P1^7;
这样你文中的“=”就不违法了
温馨提示:内容为网友见解,仅供参考
第1个回答  2015-11-01
在=附近遇到字符错误
这种错误一般是你在网上copy的代码,中间有非C语言标识符(即不是英文字符)的字符(一般是中文字符)。找到然后删除即可。
不行就照着原样重新打一遍代码,不要复制粘贴。
第2个回答  2013-12-21
想独立使用 IO口,需先进行位定义,如:sbit P32=P3^2; 别忘了分号,之后就使用 P32 就代表 P3^2口了,^ 这个符号,在 C语言里面 是 个 运算符,跟你的 位定义冲突,所以,要先进行位定义,在程序里出现 ^ ,是 按位异或 运算。
第3个回答  2012-12-02
应该是#include <reg51.h>
#define LED P1^1
#define KEY_ON P1^6
#define KEY_OFF P1^7
这几句有问题 你应该用的不是keil2吧 把这几条改成如下试试(即把^改成-)
#define LED P1-1
#define KEY_ON P1-6
#define KEY_OFF P1-7
最好打开reg51.h这个文件看一下头文件包含的内容 希望能帮到你
第4个回答  2012-03-02
#define LED P1^1
#define KEY_ON P1^6
#define KEY_OFF P1^7

改为

sbit LED = P1^1;
sbit KEY_ON = P1^6;
sbit KEY_OFF = P1^7;

keil c 的错误error C141: syntax error near '='怎么解决?
keil c 的错误error C141: syntax error near '='怎么解决?  我来答 1个回答 #热议# 阳了后,如何辨别是轻症还是重症?太平洋电脑网 优质机构答主 2023-01-06 · 百度认证:广东太平洋互联网信息服务有限公司官方帐号,优质数码... 太平洋电脑网 太平洋电脑网通过分析、评测生活及工作中各类消费品,让消费者...

keil c 的错误error C141: syntax error near '='怎么解决?
很明显楼主想做的是位操作,应该改将#define LEDP1^1 define KEY_ONP1^6 define KEY_OFFP1^7 改为 sbit LED = P1^1;sbit KEY_ON = P1^6;sbit KEY_OFF = P1^7;这样你文中的“=”就不违法了

keil c 的错误error C141: syntax error near '='怎么解决?
Keil C中的错误“error C141: syntax error near '='”通常表示在赋值操作附近有语法错误。要解决这个错误,需要检查赋值语句的语法,确保其符合C语言的规范。1. 检查赋值语句:出现这个错误时,首先应该检查的是赋值语句本身。在C语言中,赋值操作使用等号“=”,其左侧必须是一个...

keilc的错误errorC141syntaxerrornear怎么解决
遇到Keil C编译器的错误 `error C141: syntax error near` 时,通常表示在代码中编译器在指定位置附近遇到了它无法理解的语法。这个错误比较通用,可能由多种原因引起,包括但不限于:1. **括号、引号不匹配**:检查错误提示附近的括号(圆括号`()`、花括号`{}`、方括号`[]`)和引号(单引号`'...

keil c 的错误error C141: syntax error near '='
在“=”号附近有语法错误,双击该错误,光标会跳到该行,仔细检查这一行的上下行有没有错误,比如缺少“;”或是其他的。Keil,是非常不错的51系列MCU的开发环境。我最近也进一步学习Keil_Cx51编译器的特性和相应更高层次的使用。你的这类错误应该是非常明显的,很好的找出来并修正的。Good Luck....

keil c51编译错误error C141: syntax error near 'else',代码如下,求...
你这 if 语句嵌套有错误,大括号的配对有错误。应该这样 if(LedLX<temp){ \/\/1 if((VO==0)&&(MK==1)){\/\/2 LED1=0;LED2=0;LED3=1;} \/\/2 else { \/\/2 if((VO==1)&&(MK==0)){\/\/3 LED1=1;LED2=1;LED3=0;delay_nms(20000);}\/\/3 else { \/\/3 这个else附近...

Keil:关于error c141: syntax error near 'sbit'
写法1:定义位变量P1口第0引脚。写法2:定义P1口与0异或产生8位数。

...C141: syntax error near 'sbit' 错误,不知道什么原因
sbit 定义必须放在程序的前面,就是一定要放在main() 主程序的外面,不能在内部定义的。而且在程序的前面一定要加载头文件 include <reg51.h> 还有,你声明的那些变量,如果是全局变量,也要放在main()主程序的外部。而你这样声明,是局部变量了。

...错误 :“ error C141: syntax error near '=' ” 哪里错了啊_百度知...
将P2^0这样的表达式这么定义:sbit PIN20 = P2^0;把程序中的P2^2用PIN20替换掉就可以了。

...error C141: syntax error near '=',其他错误都是相似的
P0^0=1;这种语句\/用法是不对的。正确的方法是在程序的开始声明特殊位变量,例如:sbit P0_0 = P0^0;之后才能在你的函数体里面P0_0 = 1;

相似回答