error C141: syntax error near 'unsigned' 求解决 不知道错哪里

#include <reg51.h>
#include <intrins.h>
#define NOP() _nop_()
#define uchar unsigned char

sbit SH_LD=P1^6;
sbit SER_I=P1^7;
sbit SER_O=P3^4;
sbit RCLK=P3^5;
sbit CLK=P3^6;
uchar bdata temp_out;
sbit temp7=temp_out^7;
uchar DIG_NUM;
uchar key_num;

uchar code NUM[8]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8};

uchar key_scan();
void data_out(uchar c);

void main()
{
data_out(0xff);
while(1)
{
key_num=key_scan();
switch(key_num)
{
case(0x01):DIG_NUM=NUM[0];break;
case(0x02):DIG_NUM=NUM[1];break;
case(0x04):DIG_NUM=NUM[2];break;
case(0x08):DIG_NUM=NUM[3];break;
case(0x10):DIG_NUM=NUM[4];break;
case(0x20):DIG_NUM=NUM[5];break;
case(0x40):DIG_NUM=NUM[6];break;
case(0x80):DIG_NUM=NUM[7];break;
default:break;
}
data_out(DIG_NUM);
}
}

uchar key_scan()
{
uchar temp=0;
uchar i;
SH_LD=0;
NOP();
SH_LD=1;
NOP();
for(i=0;i<8;i++)
{
if(SER_I==0)
{
temp+=_crol_(0x01,7-i);
}
CLK=0;
NOP();
CLK=1;
NOP();
}
return temp;
}

void data_out(uchar c)
{
temp_out=c;
uchar i;
for(i=0;i<8;i++)
{
SER_O=temp7;
CLK=0;
NOP();
CLK=1;
NOP();
temp_out=_crol_(temp_out,1);
}
RCLK=0;
NOP();
RCLK=1;
NOP();
}

本人算新手,编译出错实在找不出问题错哪 求解/(ㄒoㄒ)/~~
已搞定,,,

void data_out(uchar c)
{
temp_out=c;
uchar i;
for(i=0;i<8;i++)
{
SER_O=temp7;
CLK=0;
NOP();
CLK=1;
NOP();
temp_out=_crol_(temp_out,1);
}
RCLK=0;
NOP();
RCLK=1;
NOP();
}

temp_out=c;
uchar i;
这两行互换。。。。基础错误~

是的。 C 语言要求 先写变量声明,再写语句。
uchar i; 是变量声明,在前
temp_out=c; 是语句。在后。
温馨提示:内容为网友见解,仅供参考
无其他回答

error C141: syntax error near 'unsigned' 求解决 不知道错哪里
是的。 C 语言要求 先写变量声明,再写语句。uchar i; 是变量声明,在前 temp_out=c; 是语句。在后。

...error C141: syntax error near 'unsigned'这个错误怎么解决啊_百 ...
void main(){ init();uint num;\/\/【问题就出在这里,变量定义要放在最前头,就是说变量定义语句之前不要有其他语 句】TMOD=0X01; \/\/定时器工作方式1 改成这样就可以用了:void main(){ uint num; \/\/【放到最前头了,就行了】init();TMOD=0X01; \/\/定时器工作方式1 ...

...error C141: syntax error near 'sbit'这个错误怎么改 求帮助_百 ...
在=附近遇到字符错误这种错误一般是你在网上copy的代码,中间有非C语言标识符(即不是英文字符)的字符(一般是中文字符)。找到然后删除即可。不行就照着原样重新打一遍代码,不要复制粘贴。

keil c 的错误error C141: syntax error near '='怎么解决?
#define是宏定义语句\\x0d\\x0a很明显楼主想做的是位操作,应该改将#define LEDP1^1\\x0d\\x0a#define KEY_ONP1^6\\x0d\\x0a#define KEY_OFFP1^7\\x0d\\x0a改为\\x0d\\x0asbit LED = P1^1;\\x0d\\x0asbit KEY_ON = P1^6;\\x0d\\x0asbit KEY_OFF = P1^7;\\x0d\\x0a这样你文中的“...

请问这个程序哪错了?error C141: syntax error near 'void' ???_百度...
uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71} 最后缺少分号(;)

C语言报错, error C141: syntax error near'{'怎么办?
C(6): error C141: syntax error near '{'这个错误的意思是:第六行,在'{'附近,有语法错误。仔细看一下,下边这句,void main(void);这个函数声明后边多了一个分号,而后边还有函数体。分号表示本句已经结束,后边的函数体执行语句就没有根了。把这句后的分号去掉应可解决这个报错。

错误C141: syntax error near 'unsigned'
第四行,少一个分号。include <reg52.h> #define char unsigned char #define int unsigned int char key,keytmp char code distaba[]= {0x40,0xff,0x06,0xfd,0xae,0xff,0xae,0xfd, 0x2a,0x7f,0x8a,0xf5,0xb5,0xbf,0xb5,0xf5, 0xa0,0x7f,0x22,0xe9,0x8e...

C(35): error C141: syntax error near 'unsigned'不知道哪里出...
P0=unsigned char code DM[i];这句不符合语法要求啊,你想做什么?

MAIN.C(21): error C141: syntax error near 'unsigned'
如果这句是函数调用,应当是:display(ta1,ta2);

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

相似回答