标题: main.c(39): error C141: syntax error near 'else', expected '__asm' [打印本页]

作者: 夏_LC    时间: 2023-3-30 22:03
标题: main.c(39): error C141: syntax error near 'else', expected '__asm'
#include "reg52.h"

typedef unsigned int u16;
typedef unsigned char u8;

sbit key1=P3^1;
sbit key2=P3^0;
sbit key3=P3^2;
sbit key4=P3^3;

sbit LED_1=P2^0;

#define key1_1   1;
#define key2_2   2;
#define key3_3   3;
#define key4_4   4;
#define key_wu_chi_li   0;

void shi_jian(u16 time)
{
        while(time--);
       
}

time=100;


u8 key_scan(u8 mode)
{
        static u8 key=1;
       
        if(mode)key=1;
        if(key==1&&(key1==0||key2==0||key3==0||key4==0))//任意按键按下
        {
               
        shi_jian(time);//消抖
               
        key=0;
               
        if(key1==0)
                return key1_1;
        else if(key2==0)
                return key2_2;
        else if(key3==0)
                return key3_3;
        else if(key4==0)
                return key4_4;
        }
else if(key1==1&&key2==1&&key3==1&&key4==1)
        {
        key=1;
        }
        return key_wu_chi_li;
}


void main()
{
        u8 key=0;
        while(1)
      {
        key=key_scan(0);
        if(key==key1_1)//检测按键 K1 是否按下
        LED_1=!LED_1;//LED1 状态翻转
      }
}


作者: xuyaqi    时间: 2023-3-31 07:06
直接if,不要else if。
作者: qsssuv    时间: 2023-3-31 08:14
#define 的定义后面加分号,你看看都替换成啥了




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1