標(biāo)題: error C236: '_delay': different length of parameter lists這段單片機(jī)代碼怎么改 [打印本頁]

作者: 禾幾_    時間: 2020-10-12 23:52
標(biāo)題: error C236: '_delay': different length of parameter lists這段單片機(jī)代碼怎么改
這段是從b站看的代碼,但是編譯時顯error C236: '_delay': different length of parameter lists,不知道該怎么改。
剛開始學(xué)習(xí)單片機(jī),很多地方都不懂,請大家?guī)蛶兔,非常感謝

#include <reg51.h>
sbit key1=P3^0;
sbit key2=P3^1;
unsigned char dat1[8]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
unsigned char dat2[8]={0x7e,0xbd,0xdb,0xe7,0xe7,0xdb,0xbd,0x7e};
unsigned char dat3[8]={0x7f,0x3f,0x1f,0x0f,0x07,0x03,0x01,0x00};
unsigned char dat4[8]={0xfc,0xf9,0xf3,0xe7,0xcf,0x9f,0x3f,0x7f};
unsigned int mode=0,stu=0,num=0;
void delay(unsigned int x)
{
while(x)
x--;
}
void delay()
{
unsigned char a,b,c;
for(c=123;c>0;c--)
  for(b=116;b>0;b--)
   fpr(a=9;a>0,a--);
}
void keyscan()
{
if(key1==0)
{
   delay(void);
   if(key1==0)
   {
     mode++;
  mode%=4;
  num=0;
   }
   while(!key1);
  }
  if(key2==0)
  {
   delay(void);
   if(key2==0)
   {
    stu++;
stu=stu%2;
   }
   while(!key2);
  }
}
void main()
{
while(1)
{
  keyscan();
  switch(mode)
  {
   case 0:if(stu){P2=dat1[num];num++;num%=8;}break;
   case 1:if(stu){P2=dat2[num];num++;num%=8;}break;
   case 2:if(stu){P2=dat3[num];num++;num%=8;}break;
   case 3:if(stu){P2=dat4[num];num++;num%=8;}break;
  }
    delay();
}
}




作者: hhdsdy    時間: 2020-10-13 00:54
怎么弄了兩個的 void delay() 函數(shù)?另外,調(diào)用延時也不是delay(void);

作者: 禾幾_    時間: 2020-10-13 12:39
hhdsdy 發(fā)表于 2020-10-13 00:54
怎么弄了兩個的 void delay() 函數(shù)?另外,調(diào)用延時也不是delay(void);

我不知道啊,師傅沒給代碼,全是百度來的
作者: lovezjf234    時間: 2020-10-13 13:50
函數(shù)重名了
作者: hhdsdy    時間: 2020-10-21 00:08
禾幾_ 發(fā)表于 2020-10-13 12:39
我不知道啊,師傅沒給代碼,全是百度來的

delay函數(shù)刪除一個,另外,調(diào)用延時函數(shù)也要給一個延時的數(shù)值,比如 delay(5);
作者: 菜鳥yc    時間: 2020-10-21 08:14
error C236: '_delay': different length of parameter lists  錯誤表示在調(diào)用delay函數(shù)時實參使用了不同長度的參數(shù)列表。定義了重復(fù)的delay函數(shù)。在調(diào)用時delay(void);錯誤。更改方法如下:1、刪除錯誤的delay(void);調(diào)用2、刪除void delay(unsigned int x)函數(shù)原型
作者: zyx123    時間: 2020-10-21 09:02
有兩個這函數(shù)了
作者: i_could_have    時間: 2020-10-22 16:10
函數(shù)重定義了,換個函數(shù)名就好
作者: fj51hei    時間: 2020-10-23 08:49
子bai函數(shù)里的形參聲明的du方式不對.刪除delay(void);里的void是對的
作者: luzhongyi86    時間: 2020-10-23 15:03
void delay(unsigned int x)這個有重復(fù)
{
while(x)
x--;
}

void delay()這個有重復(fù)
{
unsigned char a,b,c;
for(c=123;c>0;c--)
  for(b=116;b>0;b--)
   fpr(a=9;a>0,a--);
}  要刪除其中一個或重明名




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1