找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5826|回復(fù): 11
打印 上一主題 下一主題
收起左側(cè)

error C141: syntax error near '1'請幫幫忙啊

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:296320 發(fā)表于 2018-3-24 13:50 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
#include <reg52.h>
#include <i2c.h>
typedef unsigned char u8;
typedef unsigned int u16;
sbit LSA=P2^2;
sbit LSB=P2^3;
sbit LSC=P2^3;
sbit k1=P3^0;
sbit k2=P3^1;
sbit k3=P3^2;
sbit k4=P3^3;
u8 num;
u8 disp[4];
u8 code smgduan[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x7f,0x6f};
void delay(u16 i)
{   while(i--);
}
void keypros()
{  if(k1==0)
    {  delay(100);
           if(k1==0)
           {
         void  at24c02write(1,num);
             }
                  while(!k1);
                  }
        if(k2==0)
        {delay(100);
         if(k2==0)
         {          num=at24c02read(1);
             }while(!k2);
                 }
        if(k3==0)
        { delay(100);
          if(k3==0)
          { num++;
          if(num<255)num=0;
          }
          while(!k3);
          }
        if(k4==0)
        {delay(100);
          if(k4==0)
          { num=0;
          }
          while (!k4);
          }
          }
void datapros()
{   disp[0]=smgduan[num/1000];
     disp[1]=smgduan[num%1000/100];
         disp[2]=smgduan[num%1000%100/10];
         disp[3]=smgduan[num%1000%100%10];
         }
void smg()
{  u8 i;
    for(i=0;i<4;i++)
        {  switch (i)
           {case 0:LSA=0;LSB=0;LSC=0;break;
            case 1:LSA=1;LSB=0;LSC=0;break;
                case 2:LSA=0;LSB=1;LSC=0;break;
                case 3:LSA=1;LSB=1;LSC=0;break;
                }
                P0=disp[3-i];
                delay(100);
                P0=0x00;
                }}
void main()
{ while (1)
{            keypros();
datapros();
smg();}}
總是報錯:
Build target '目標(biāo) 1'
compiling at24c02.c...
AT24C02.C(23): error C141: syntax error near '1'
目標(biāo)未創(chuàng)建
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:287575 發(fā)表于 2018-3-24 14:13 | 只看該作者

sbit LSB=P2^3;
sbit LSC=P2^3; 重復(fù)定義

AT24C02.C有錯誤的程序你沒發(fā)上來

評分

參與人數(shù) 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復(fù)

使用道具 舉報

板凳
ID:223788 發(fā)表于 2018-3-24 16:27 | 只看該作者
格式好亂啊。。。。看著累。。。
回復(fù)

使用道具 舉報

地板
ID:223788 發(fā)表于 2018-3-24 16:28 | 只看該作者
應(yīng)該把格式弄好一點。。。。
回復(fù)

使用道具 舉報

5#
ID:296320 發(fā)表于 2018-3-24 17:57 | 只看該作者
麻煩你再幫我看看,這是剩下的程序。非常感謝
#include<i2c.h>
void delay10(void)
{  unsigned char a,b;
    for(b=1;b>0;b--)
        for(a=2;a>0;a--);}
void i2cstart()
{  SDA=1;
    delay10();
        SCL=1;
        delay10();
        SDA=0;
        delay10();
        SCL=0;
        delay10();
        }
void i2cstop()
{   SDA=0;
   delay10();
   SCL=1;
   delay10();
   SDA=0;
   delay10();}


unsigned char i2csendbyte(unsigned char dat)
{           unsigned char a;
   for(a=0;a<8;a++)
   {SDA=dat>>7;
    dat=dat<<1;
        delay10();
        SCL=1;
        delay10();
        SCL=0;
        delay10();
        }
SDA=1;
delay10();
SCL=1;
while(SDA)
{unsigned char b=0;
  b++;
   if(b<200)
   {SCL=0;
    delay10();
        return 0;
        } }
SCL=0;
delay10();
return 1;
}
unsigned char i2creadbyte()
{  unsigned char a;
        unsigned char dat;
    SDA=1;
    delay10();
        dat=0;
        for(a=0;a<8;a++)
        {  SCL=1;
        delay10();
        dat=dat<<1;
        dat|=SDA;
        SCL=0;
        delay10();
        }return dat;
        }
void at24c02write(unsigned char adder,unsigned char dat)
{    i2cstart();
     i2csendbyte(0xa0);
         i2csendbyte(adder);
         i2csendbyte(dat);
         i2cstop();
         }
         unsigned char num;
unsigned char at24c02read(unsigned char adder)
{           i2cstart();
     i2csendbyte(0xa0);
         i2csendbyte(adder);
         i2cstart();
         i2csendbyte(0xa1);
         num=i2creadbyte();
         i2cstop();
         return num;}
這是另一個c文件。
#ifndef _i2c_h
#define _i2c_h
#include <reg52.h>
sbit SCL=P2^1;
sbit SDA=P2^0;
void atwrite(unsigned char adder,unsigned char dat);
unsigned char atread(unsigned char adder);
#endif
這是AT24C02的定義的頭文件

評分

參與人數(shù) 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復(fù)

使用道具 舉報

6#
ID:287575 發(fā)表于 2018-3-24 20:04 | 只看該作者
一、sbit LSB=P2^3;
       sbit LSC=P2^3; 重復(fù)定義,但不算錯誤
二、void keypros()
{  if(k1==0)
    {  delay(100);
           if(k1==0)
           {
         at24c02write(1,num); //void  at24c02write(1,num); 函數(shù)定義可以加void ,引用時不能加
             }
                  while(!k1);
三、#ifndef _i2c_h
#define _i2c_h
#include <reg52.h>
sbit SCL=P2^1;
sbit SDA=P2^0;
//void atwrite(unsigned char adder,unsigned char dat);
//unsigned char atread(unsigned char adder);
void at24c02write(unsigned char adder,unsigned char dat);
unsigned char at24c02read(unsigned char adder);
#endif
i2c.h中定義的函數(shù)名稱不是i2c.c 和主程序調(diào)用的名字

評分

參與人數(shù) 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復(fù)

使用道具 舉報

7#
ID:287575 發(fā)表于 2018-3-24 20:16 | 只看該作者
你在i2c.c中
         unsigned char num;
unsigned char at24c02read(unsigned char adder)
{           i2cstart();
     i2csendbyte(0xa0);
         i2csendbyte(adder);
         i2cstart();
         i2csendbyte(0xa1);
         num=i2creadbyte();
         i2cstop();
         return num;}
num 與主程序的num沖突了,改為其他名,如num1就可以了,否則出現(xiàn)*** ERROR L104: MULTIPLE PUBLIC DEFINITIONS,編譯成功,但鏈接不成功

評分

參與人數(shù) 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復(fù)

使用道具 舉報

8#
ID:287575 發(fā)表于 2018-3-24 20:25 | 只看該作者
幾點建議:程序書寫要規(guī)范,你將來就能感覺到好處,要加一定的注釋
上傳整個工程的壓縮包,方便別人幫你解決問題,不然別人還要建立工程,再模擬測試

評分

參與人數(shù) 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復(fù)

使用道具 舉報

9#
ID:296505 發(fā)表于 2018-3-24 20:50 | 只看該作者
sbit LSB=P2^3;
sbit LSC=P2^3;

評分

參與人數(shù) 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復(fù)

使用道具 舉報

10#
ID:296320 發(fā)表于 2018-3-24 21:23 | 只看該作者
zhangxiaozi 發(fā)表于 2018-3-24 20:25
幾點建議:程序書寫要規(guī)范,你將來就能感覺到好處,要加一定的注釋
上傳整個工程的壓縮包,方便別人幫你解 ...

謝謝你的建議,我會改正的。
回復(fù)

使用道具 舉報

11#
ID:296516 發(fā)表于 2018-3-24 21:28 | 只看該作者
emmm...高手都不寫注釋的嗎。。。
回復(fù)

使用道具 舉報

12#
ID:223788 發(fā)表于 2018-3-24 21:50 | 只看該作者
qwertyuiop1234/ 發(fā)表于 2018-3-24 17:57
麻煩你再幫我看看,這是剩下的程序。非常感謝
#include
void delay10(void)

你這個錯誤可能是沒有新建項目(project),我在我這里編譯沒有什么問題。。。。

test.PNG (12.97 KB, 下載次數(shù): 43)

test.PNG

評分

參與人數(shù) 1黑幣 +70 收起 理由
admin + 70 回帖助人的獎勵!

查看全部評分

回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表