標題: error C141: syntax error near '=', expected ')' [打印本頁]

作者: 日日安    時間: 2021-12-3 17:27
標題: error C141: syntax error near '=', expected ')'
是一個基于熱敏電阻PT100的51單片機溫度采集系統(tǒng)程序,拜托各位大神看看,要怎么改啊

#include <reg51.h> //頭文件
#include <math.h>
#define uchar unsigned char
#define uint unsigned int
sbit STAR=P2^4;
sbit EOC=P2^6;
sbit CLOCK=P2^5;
sbit OE=P2^7;
sbit P20=P2^0;
sbit P21=P2^1;
sbit P22=P2^2;
sbit P23=P2^3;
uchar getdata;
double change;
long int temp;
uchar code table1[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x40};//0-9,-,無小數(shù)點
uchar code table2[]={0xbF,0x86,0xdB,0xcF,0xe6,0xeD,0xfD,0x87,0x7fF,0xeF};//0-9,小數(shù)點
uchar dispbuf[6];

/******************************/
//延時函數(shù),帶有入口參數(shù)m,代表ms毫秒
//

    void delay_ma(uchar m);
           unsigned int i, j;
        #define for unsigned int
        for(i=0;i<m;i++)
        {
        for(j=0;j<125;j++)
        {;}
        }

/*********************************/

/*********************************/
void display[]
{
         PO=table1[dispbuf[6]];//顯示百位
         P20=0;
         P21=1;
         P22=1;
         P23=1;        
     delay_ma[3];
         PO=0800;
         PO=table1[dispbuf[0]];//顯示十位
         P20=1;
         P21=0;
     P22=1;
         P23=1;
         delay_ma[3];
         PO=0800;
         PO=table2[dispbuf[1]];//顯示個位
     P20=1;
         P21=0;
         P22=1;
         P23=1;
     delay_ma[2];
         PO=0800;
}
/***********************************/

/***********************************/
void PT100()
{
   double PR,aveT,aT,deal,U,aR;//
   U=5.0/255.0*getdata;
   aR=(5.0/255.0*getdata)/(5.0/142.29);
   PR=142.29-aR;
   aveT=42.29/110.0;
   aT=PR/aveT;
   deal=10*(110.0-aT);
   temp=(long int)deal;
   if(U<3.52&&U>2.82)
{
   aveT=(100.0-80.31)/50.0;
   PR=100.0-aR;
   aT=10*(PR/aveT);
   temp=(long int)aT;
}

}

void Delay(unsigned int i)


   dea
   temp=(long int)

         {
                        dispbuf[0]=temp%25;
                        dispbuf[3]=temp/15%10;
                        dispbuf[3]=temp/256%10;
                        dispbuf[3]=temp/2000;
                }
                else
                {
                        dispbuf[0]=0;
                        dispbuf[3]=0;
                        dispbuf[3]=0;
                        dispbuf[3]=0;
                }

display();

/*******************************/
//
//
/*******************************/
main()
{
  TMOD=0x10;                           //定時器0,工作在定時器方式
  TH1=(65536-200)/256;                //0x3c
  TL1=(65536-200)%256;      //0xbo
  EA=1;                                 //開中斷允許
  ET1=1;                         //打開(允許)定時器1中斷
  TR1=1;                         //開始(啟動)定時器1
  while(1)
{
  STAR=0;
  OE=0;
  STAR=1;
  STAR=0;
  while(EOC==0)
{
  OE=1;
  delay_ms(10);
  getdata=P1;
  OE=0;
  PT100();
}
}
}


TEST.C(27): error C141: syntax error near '=', expected ')'
TEST.C(27): error C129: missing ';' before '<'

程序運行一直顯示上面這個錯誤,就是這句 for(i=0;i<m;i++)  語句有錯誤,要怎么改啊




作者: AUG    時間: 2021-12-3 18:00
好好看自己的delay函數(shù),這么明顯的。
作者: 188610329    時間: 2021-12-3 18:48
說句實話, 你這代碼沒救了, 先學一點編程基礎,然后一個字一個字的自己碼吧,反正,我對能幫你把代碼修正到你可以正常使用是一定信心都沒有。
delay 函數(shù)就不說了,樓上已經(jīng)說了,但是,改了那里一樣還是錯。
隨便翻翻,就一堆,關鍵還都是基礎錯誤。




作者: 13205495918    時間: 2021-12-3 20:56
我能看到的是PO,沒見過用這個的,是P0還是PO,,,,,,,,,,還有一個是delay延時這里也很離譜。
作者: czhaii    時間: 2023-12-28 15:27
年老眼花沒看清
作者: zhuls    時間: 2023-12-28 22:29
#define for unsigned int???這是什么鬼?
作者: pluto1000    時間: 2023-12-31 21:24
因為這個注釋有問題,應該為//define for unsigned int
#define for unsigned int




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