不知道是哪里出错了(没有C语言基础)
#include "reg52.h"
typedef unsigned int u16;
typedef unsigned char u8;
sbit s1=P3^1;
sbit s2=P3^3;
sbit s3=P3^4;
sbit led1=P2^0;
sbit led2=P2^1;
void delay(u16 i)
{
while(i--);
}
void keypros()
{
if(s1==1)
{
delay(1000);
if(s1==0)
{
led1=led1;led2;
}
while(!s1);
}
if(s2==1)
{
delay(1000);
if(s2==0)
{
led2=
}
while(!s2);
}
if(s3==0)
{
delay(1000);
if(s3==1)
{
led1=led1;led2;
led2=
}
while(!s3);
}
}
{
led=1;
while(1)
{
keypros();
}
}
以下是报错内容
Build target 'Target 1'
compiling main.c...
main.c(49): error C141: syntax error near '{'
main.c(51): error C141: syntax error near 'while'
main.c(51): error C141: syntax error near '1'
main.c(53): error C231: 'keypros': redefinition
main.c(54): error C141: syntax error near '}'
Target not created.
Build Time Elapsed: 00:00:00
是在Keil5编译的
你抄代码是不是把main忘抄了:
#include "reg52.h"
typedef unsigned int u16;
typedef unsigned char u8;
sbit s1 = P3 ^ 1;
sbit s2 = P3 ^ 3;
sbit s3 = P3 ^ 4;
sbit led1 = P2 ^ 0;
sbit led2 = P2 ^ 1;
void delay(u16 i)
{
while (i--)
;
}
void keypros()
{
if (s1 == 1)
{
delay(1000);
if (s1 == 0)
{
led1 = led1;
}
while (!s1)
;
}
if (s2 == 1)
{
delay(1000);
if (s2 == 0)
{
led2 = led2;
}
while (!s2)
;
}
if (s3 == 0)
{
delay(1000);
if (s3 == 1)
{
led1 = led1;
led2 = led2;
}
while (!s3)
;
}
}
int main()
{
led = 1;
while (1)
{
keypros();
}
}