Skocz do zawartości

Pisanie programu do linefollower w bricxc.


favi413

Pomocna odpowiedź

Witam.Piszę program do line followera zbudowanego z lego, niestety bricxcc nie chce mi go skompilować, prosiłbym o sprawdzenie czy ten program jest dobrze napisany.(Jest to mój pierwszy program.)


/*program line follower*/

#define NAPED 100  // predkosc jazdy normalnie
#define NAPEDW 95  // predkosc jazdy (czujnik wewnetrzny)
#define NAPEDZ 60  // predkosc jazdy (czujnik zewnetrzny)
#define WS 10      // procent obrotu w lewo/prawo (czujnik wewnetrzny)
#define POZ 90     // procent obrotu w lewo/prawo (czujnik zewnetrzny)
#define CWLP 41    // czarny wewnetrzny lewo/prawo
#define CZLP 41     // czarny zewnetrzny lewo/prawo


task main1()

{
    OnFwd(OUT_A, NAPED);

}

task main2()

{
SetSensor(SENSOR_2, SENSOR_LIGHT);
while (true)
  {

      OnRevSync(OUT_C, WS);   // procent obrotu w lewo  wewnetrzny
      if (SENSOR_2 < CWLP);    // czujnik wewnetrzny lewo
    {
         OnFwd(OUT_A, NAPEDW);   // szybkosc gdy czujnik wew
    }
  }
}

task main3()

{
SetSensor(SENSOR_3, SENSOR_LIGHT);
while (true)
  {
      OnFwdSync(OUT_C, WS);    // procent obrotu w prawo wewnetrzny
      if (SENSOR_3 < CWLP);    // czujnik wewnetrzny prawo
     {
         OnFwd(OUT_A, NAPEDW);   // szybkosc gdzy czujnik wew
     }
  }
}

task main3()

{
SetSensor(SENSOR_1, SENSOR_LIGHT);
while (true)
  {
      OnRevSync(OUT_C, POZ);   //  procent obrotu w lewo zewnetrzny
      if (SENSOR_1 < CZLP);   //   czujnik zewnetrzny lewo
      {
         OnFwd(OUT_A, NAPEDZ);    // szybkosc gdy czujnik zew
      }

  }
}

task main4()

{
SetSensor(SENSOR_4, SENSOR_LIGHT);
while (true)
  {
      OnFwdSync(OUT_C; POZ);   // procent obrotu w prawo zewnetrzny
      if (SENSOR_4 < CZLP);  // czujnik zewnetrzny prawo
      {
         OnFwd(OUT_A, NAPEDZ);   // szybkosc gdy czujnik zew
  }
}

Dodatkowo błędy:

# Error: ',' expected

File "C:\DOCUME~1\seba\USTAWI~1\Temp\temp.nxc" ; line 26

# OnRevSync(2, 10);

#----------------------------------------------------------

# Error: Math Factor expected

File "C:\DOCUME~1\seba\USTAWI~1\Temp\temp.nxc" ; line 27

# if (

#----------------------------------------------------------

# Error: ')' expected

File "C:\DOCUME~1\seba\USTAWI~1\Temp\temp.nxc" ; line 27

# if (

#----------------------------------------------------------

# Error: ';' expected

File "C:\DOCUME~1\seba\USTAWI~1\Temp\temp.nxc" ; line 27

# if (a

#----------------------------------------------------------

# Error: ',' expected

File "C:\DOCUME~1\seba\USTAWI~1\Temp\temp.nxc" ; line 40

# OnFwdSync(2, 10);

#----------------------------------------------------------

# Error: Math Factor expected

File "C:\DOCUME~1\seba\USTAWI~1\Temp\temp.nxc" ; line 41

# if (

#----------------------------------------------------------

# Error: ')' expected

File "C:\DOCUME~1\seba\USTAWI~1\Temp\temp.nxc" ; line 41

# if (

#----------------------------------------------------------

# Error: ';' expected

File "C:\DOCUME~1\seba\USTAWI~1\Temp\temp.nxc" ; line 41

# if (a

#----------------------------------------------------------

# Error: ';' expected

File "C:\DOCUME~1\seba\USTAWI~1\Temp\temp.nxc" ; line 42

# {

#----------------------------------------------------------

# Error: Duplicate Identifier main3

File "C:\DOCUME~1\seba\USTAWI~1\Temp\temp.nxc" ; line 48

# task main3()

#----------------------------------------------------------

# Error: ',' expected

File "C:\DOCUME~1\seba\USTAWI~1\Temp\temp.nxc" ; line 54

# OnRevSync(2, 90);

#----------------------------------------------------------

# Error: Math Factor expected

File "C:\DOCUME~1\seba\USTAWI~1\Temp\temp.nxc" ; line 55

# if (

#----------------------------------------------------------

# Error: ')' expected

File "C:\DOCUME~1\seba\USTAWI~1\Temp\temp.nxc" ; line 55

# if (

#----------------------------------------------------------

# Error: ';' expected

File "C:\DOCUME~1\seba\USTAWI~1\Temp\temp.nxc" ; line 55

# if (a

#----------------------------------------------------------

# Error: ';' expected

File "C:\DOCUME~1\seba\USTAWI~1\Temp\temp.nxc" ; line 56

# {

#----------------------------------------------------------

# Error: ',' expected

File "C:\DOCUME~1\seba\USTAWI~1\Temp\temp.nxc" ; line 69

# OnFwdSync(2; 9

#----------------------------------------------------------

# Error: Math Factor expected

File "C:\DOCUME~1\seba\USTAWI~1\Temp\temp.nxc" ; line 70

# if (

#----------------------------------------------------------

# Error: ')' expected

File "C:\DOCUME~1\seba\USTAWI~1\Temp\temp.nxc" ; line 70

# if (

#----------------------------------------------------------

# Error: ';' expected

File "C:\DOCUME~1\seba\USTAWI~1\Temp\temp.nxc" ; line 70

# if (a

#----------------------------------------------------------

# Error: ';' expected

File "C:\DOCUME~1\seba\USTAWI~1\Temp\temp.nxc" ; line 71

# {

#----------------------------------------------------------

# Error: '}' expected

File "C:\DOCUME~1\seba\USTAWI~1\Temp\temp.nxc" ; line 77

#

#----------------------------------------------------------

# Error: No task named "main" exists

File "C:\DOCUME~1\seba\USTAWI~1\Temp\temp.nxc" ; line 78

#

#----------------------------------------------------------

Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

Co do tego czy będzie działał to nie mam pojęcia, dopiero od nie dawna bawie się w programowanie 😉 . a co do tego przecinka to musiałby się wypowiedzieć ktoś kto używa tego środowiska.

Link do komentarza
Share on other sites

task main()
{
OnFwd(OUT_A, 75);
OnFwd(OUT_C, 75);
Wait(4000);
OnRev(OUT_AC, 75);
Wait(4000);
Off(OUT_AC);
}

Tu jest przykładowy program, na którym się wzorowałem, przecinek mam w tym samym miejscu.

[ Dodano: 15-12-2011, 19:12 ]


/*program*/

#define NAPED 100  // predkosc jazdy normalnie
#define NAPEDW 95  // predkosc jazdy (czujnik wewnetrzny)
#define NAPEDZ 60  // predkosc jazdy (czujnik zewnetrzny)
#define WS 10      // procent obrotu w lewo/prawo (czujnik wewnetrzny)
#define POZ 90     // procent obrotu w lewo/prawo (czujnik zewnetrzny)
#define CWLP 41    // czarny wewnetrzny lewo/prawo
#define CZLP 41     // czarny zewnetrzny lewo/prawo


task maina()

{
    OnFwd(OUT_A, NAPED);

}

task mainb()

{
SetSensorLight(IN_2);
OnFwd(OUT_A, NAPEDW);   // szybkosc gdy czujnik wew
while (true)
   {
      if (Sensor(IN_2) < CWLP);     // czujnik wewnetrzny lewo
      {
      OnRevSync(OUT_C, WS,);   // procent obrotu w lewo  wewnetrzny
      }
   }
}

task mainc()

{
SetSensorLight(IN_3);
OnFwd(OUT_A, NAPEDW);   // szybkosc gdzy czujnik wew
while (true)
  {
      if (Sensor(IN_3) < CWLP);    // czujnik wewnetrzny prawo
      {
      OnFwdSync(OUT_C, WS,);    // procent obrotu w prawo wewnetrzny
      }
  }
}

task maind()

{
SetSensorLight(IN_1);
OnFwd(OUT_A, NAPEDZ);    // szybkosc gdy czujnik zew
while (true)
  {
      if (Sensor(IN_1) < CZLP);   //   czujnik zewnetrzny lewo
      {
      OnRevSync(OUT_C, POZ,);   //  procent obrotu w lewo zewnetrzny
      }
  }
}

task maine()

{
SetSensorLight(IN_1);
OnFwd(OUT_A, NAPEDZ);   // szybkosc gdy czujnik zew
while (true)
  {
      if (Sensor(IN_1) < CZLP);  // czujnik zewnetrzny prawo
      {
      OnFwdSync(OUT_C, POZ,);   // procent obrotu w prawo zewnetrzny
      }

  }
}

Trochę zmodyfikowana wersja programu.

A tu błędy:

# Error: Math Factor expected
File "C:\DOCUME~1\seba\USTAWI~1\Temp\temp.nxc" ; line 29
#    }
#----------------------------------------------------------
# Error: ')' expected
File "C:\DOCUME~1\seba\USTAWI~1\Temp\temp.nxc" ; line 29
#    }
#----------------------------------------------------------
# Error: ';' expected
File "C:\DOCUME~1\seba\USTAWI~1\Temp\temp.nxc" ; line 30
#    }
#----------------------------------------------------------
# Error: ';' expected
File "C:\DOCUME~1\seba\USTAWI~1\Temp\temp.nxc" ; line 33
#   task m
#----------------------------------------------------------
# Error: Undefined Identifier mainc
File "C:\DOCUME~1\seba\USTAWI~1\Temp\temp.nxc" ; line 33
#   task mainc(
#----------------------------------------------------------
# Error: ';' expected
File "C:\DOCUME~1\seba\USTAWI~1\Temp\temp.nxc" ; line 33
#   task mainc()
#----------------------------------------------------------
# Error: Unmatched close parenthesis
File "C:\DOCUME~1\seba\USTAWI~1\Temp\temp.nxc" ; line 35
#   {
#----------------------------------------------------------
# Error: ';' expected
File "C:\DOCUME~1\seba\USTAWI~1\Temp\temp.nxc" ; line 36
#    S
#----------------------------------------------------------
# Error: Unmatched close parenthesis
File "C:\DOCUME~1\seba\USTAWI~1\Temp\temp.nxc" ; line 36
#    SetSensorLight(2);
#----------------------------------------------------------
# Error: Unmatched close parenthesis
File "C:\DOCUME~1\seba\USTAWI~1\Temp\temp.nxc" ; line 37
#    OnFwd(0, 95);
#----------------------------------------------------------
# Error: Unmatched close parenthesis
File "C:\DOCUME~1\seba\USTAWI~1\Temp\temp.nxc" ; line 39
#    {
#----------------------------------------------------------
# Error: Unmatched close parenthesis
File "C:\DOCUME~1\seba\USTAWI~1\Temp\temp.nxc" ; line 40
#    if (asm { ReadSensor(2, __RETVAL__) } < 41);
#----------------------------------------------------------
# Error: Math Factor expected
File "C:\DOCUME~1\seba\USTAWI~1\Temp\temp.nxc" ; line 43
#    }
#----------------------------------------------------------
# Error: Unmatched close parenthesis
File "C:\DOCUME~1\seba\USTAWI~1\Temp\temp.nxc" ; line 43
#    }
#----------------------------------------------------------
# Error: ')' expected
File "C:\DOCUME~1\seba\USTAWI~1\Temp\temp.nxc" ; line 43
#    }
#----------------------------------------------------------
# Error: ';' expected
File "C:\DOCUME~1\seba\USTAWI~1\Temp\temp.nxc" ; line 44
#    }
#----------------------------------------------------------
# Error: ';' expected
File "C:\DOCUME~1\seba\USTAWI~1\Temp\temp.nxc" ; line 47
#   task m
#----------------------------------------------------------
# Error: Undefined Identifier maind
File "C:\DOCUME~1\seba\USTAWI~1\Temp\temp.nxc" ; line 47
#   task maind(
#----------------------------------------------------------
# Error: ';' expected
File "C:\DOCUME~1\seba\USTAWI~1\Temp\temp.nxc" ; line 47
#   task maind()
#----------------------------------------------------------
# Error: Unmatched close parenthesis
File "C:\DOCUME~1\seba\USTAWI~1\Temp\temp.nxc" ; line 49
#   {
#----------------------------------------------------------
# Error: ';' expected
File "C:\DOCUME~1\seba\USTAWI~1\Temp\temp.nxc" ; line 50
#    S
#----------------------------------------------------------
# Error: Unmatched close parenthesis
File "C:\DOCUME~1\seba\USTAWI~1\Temp\temp.nxc" ; line 50
#    SetSensorLight(0);
#----------------------------------------------------------
# Error: Unmatched close parenthesis
File "C:\DOCUME~1\seba\USTAWI~1\Temp\temp.nxc" ; line 51
#    OnFwd(0, 60);
#----------------------------------------------------------
# Error: Unmatched close parenthesis
File "C:\DOCUME~1\seba\USTAWI~1\Temp\temp.nxc" ; line 53
#    {
#----------------------------------------------------------
# Error: Unmatched close parenthesis
File "C:\DOCUME~1\seba\USTAWI~1\Temp\temp.nxc" ; line 54
#    if (asm { ReadSensor(0, __RETVAL__) } < 41);
#----------------------------------------------------------
# Error: Math Factor expected
File "C:\DOCUME~1\seba\USTAWI~1\Temp\temp.nxc" ; line 57
#    }
#----------------------------------------------------------
# Error: Unmatched close parenthesis
File "C:\DOCUME~1\seba\USTAWI~1\Temp\temp.nxc" ; line 57
#    }
#----------------------------------------------------------
# Error: ')' expected
File "C:\DOCUME~1\seba\USTAWI~1\Temp\temp.nxc" ; line 57
#    }
#----------------------------------------------------------
# Error: ';' expected
File "C:\DOCUME~1\seba\USTAWI~1\Temp\temp.nxc" ; line 58
#    }
#----------------------------------------------------------
# Error: ';' expected
File "C:\DOCUME~1\seba\USTAWI~1\Temp\temp.nxc" ; line 61
#   task m
#----------------------------------------------------------
# Error: Undefined Identifier maine
File "C:\DOCUME~1\seba\USTAWI~1\Temp\temp.nxc" ; line 61
#   task maine(
#----------------------------------------------------------
# Error: ';' expected
File "C:\DOCUME~1\seba\USTAWI~1\Temp\temp.nxc" ; line 61
#   task maine()
#----------------------------------------------------------
# Error: Unmatched close parenthesis
File "C:\DOCUME~1\seba\USTAWI~1\Temp\temp.nxc" ; line 63
#   {
#----------------------------------------------------------
# Error: ';' expected
File "C:\DOCUME~1\seba\USTAWI~1\Temp\temp.nxc" ; line 64
#    S
#----------------------------------------------------------
# Error: Unmatched close parenthesis
File "C:\DOCUME~1\seba\USTAWI~1\Temp\temp.nxc" ; line 64
#    SetSensorLight(0);
#----------------------------------------------------------
# Error: Unmatched close parenthesis
File "C:\DOCUME~1\seba\USTAWI~1\Temp\temp.nxc" ; line 65
#    OnFwd(0, 60);
#----------------------------------------------------------
# Error: Unmatched close parenthesis
File "C:\DOCUME~1\seba\USTAWI~1\Temp\temp.nxc" ; line 67
#    {
#----------------------------------------------------------
# Error: Unmatched close parenthesis
File "C:\DOCUME~1\seba\USTAWI~1\Temp\temp.nxc" ; line 68
#    if (asm { ReadSensor(0, __RETVAL__) } < 41);
#----------------------------------------------------------
# Error: Math Factor expected
File "C:\DOCUME~1\seba\USTAWI~1\Temp\temp.nxc" ; line 71
#    }
#----------------------------------------------------------
# Error: Unmatched close parenthesis
File "C:\DOCUME~1\seba\USTAWI~1\Temp\temp.nxc" ; line 71
#    }
#----------------------------------------------------------
# Error: ')' expected
File "C:\DOCUME~1\seba\USTAWI~1\Temp\temp.nxc" ; line 71
#    }
#----------------------------------------------------------
# Error: ';' expected
File "C:\DOCUME~1\seba\USTAWI~1\Temp\temp.nxc" ; line 73
#    }
#----------------------------------------------------------
# Error: '}' expected
File "C:\DOCUME~1\seba\USTAWI~1\Temp\temp.nxc" ; line 77
#   
#----------------------------------------------------------
# Error: No task named "main" exists
File "C:\DOCUME~1\seba\USTAWI~1\Temp\temp.nxc" ; line 78
#   
#----------------------------------------------------------
Link do komentarza
Share on other sites

Dalej masz mnóstwo błędów składniowych, np.

if(warunek);
{
coś tam;
}

nie powinno być tego średnika po warunku.

Widziałem też gdzieś, że masz

funkcja(arg1,arg2,);

Ten ostatni przecinek jest błędem.

  • Lubię! 1
Link do komentarza
Share on other sites

Naprawione ale błędy są nadal.


/*program*/

#define NAPED 100  // predkosc jazdy normalnie
#define NAPEDW 95  // predkosc jazdy (czujnik wewnetrzny)
#define NAPEDZ 60  // predkosc jazdy (czujnik zewnetrzny)
#define WS 10      // procent obrotu w lewo/prawo (czujnik wewnetrzny)
#define POZ 90     // procent obrotu w lewo/prawo (czujnik zewnetrzny)
#define CWLP 41    // czarny wewnetrzny lewo/prawo
#define CZLP 41     // czarny zewnetrzny lewo/prawo


task maina()

{
    OnFwd(OUT_A, NAPED);

}

task mainb()

{
SetSensorLight(IN_2);
OnFwd(OUT_A, NAPEDW);   // szybkosc gdy czujnik wew
while (true)
   {
      if (Sensor(IN_2) < CWLP)     // czujnik wewnetrzny lewo
      {
      OnRevSync(OUT_C, WS);   // procent obrotu w lewo  wewnetrzny
      }
   }
}

task mainc()

{
SetSensorLight(IN_3);
OnFwd(OUT_A, NAPEDW);   // szybkosc gdzy czujnik wew
while (true)
  {
      if (Sensor(IN_3) < CWLP)    // czujnik wewnetrzny prawo
      {
      OnFwdSync(OUT_C, WS);    // procent obrotu w prawo wewnetrzny
      }
  }
}

task maind()

{
SetSensorLight(IN_1);
OnFwd(OUT_A, NAPEDZ);    // szybkosc gdy czujnik zew
while (true)
  {
      if (Sensor(IN_1) < CZLP)   //   czujnik zewnetrzny lewo
      {
      OnRevSync(OUT_C, POZ);   //  procent obrotu w lewo zewnetrzny
      }
  }
}

task maine()

{
SetSensorLight(IN_1);
OnFwd(OUT_A, NAPEDZ);   // szybkosc gdy czujnik zew
while (true)
  {
      if (Sensor(IN_1) < CZLP)  // czujnik zewnetrzny prawo
      {
      OnFwdSync(OUT_C, POZ);   // procent obrotu w prawo zewnetrzny
      }

  }
}

A tu błędy:

# Error: ',' expected
File "C:\DOCUME~1\seba\USTAWI~1\Temp\temp.nxc" ; line 28
#    OnRevSync(2, 10);
#----------------------------------------------------------
# Error: Math Factor expected
File "C:\DOCUME~1\seba\USTAWI~1\Temp\temp.nxc" ; line 30
#    }
#----------------------------------------------------------
# Error: ')' expected
File "C:\DOCUME~1\seba\USTAWI~1\Temp\temp.nxc" ; line 30
#    }
#----------------------------------------------------------
# Error: ';' expected
File "C:\DOCUME~1\seba\USTAWI~1\Temp\temp.nxc" ; line 31
#   }
#----------------------------------------------------------
# Error: ';' expected
File "C:\DOCUME~1\seba\USTAWI~1\Temp\temp.nxc" ; line 33
#   task m
#----------------------------------------------------------
# Error: Undefined Identifier mainc
File "C:\DOCUME~1\seba\USTAWI~1\Temp\temp.nxc" ; line 33
#   task mainc(
#----------------------------------------------------------
# Error: ';' expected
File "C:\DOCUME~1\seba\USTAWI~1\Temp\temp.nxc" ; line 33
#   task mainc()
#----------------------------------------------------------
# Error: Unmatched close parenthesis
File "C:\DOCUME~1\seba\USTAWI~1\Temp\temp.nxc" ; line 35
#   {
#----------------------------------------------------------
# Error: ';' expected
File "C:\DOCUME~1\seba\USTAWI~1\Temp\temp.nxc" ; line 36
#    S
#----------------------------------------------------------
# Error: Unmatched close parenthesis
File "C:\DOCUME~1\seba\USTAWI~1\Temp\temp.nxc" ; line 36
#    SetSensorLight(2);
#----------------------------------------------------------
# Error: Unmatched close parenthesis
File "C:\DOCUME~1\seba\USTAWI~1\Temp\temp.nxc" ; line 37
#    OnFwd(0, 95);
#----------------------------------------------------------
# Error: Unmatched close parenthesis
File "C:\DOCUME~1\seba\USTAWI~1\Temp\temp.nxc" ; line 39
#    {
#----------------------------------------------------------
# Error: Unmatched close parenthesis
File "C:\DOCUME~1\seba\USTAWI~1\Temp\temp.nxc" ; line 41
#    {
#----------------------------------------------------------
# Error: ',' expected
File "C:\DOCUME~1\seba\USTAWI~1\Temp\temp.nxc" ; line 42
#    OnFwdSync(2, 10);
#----------------------------------------------------------
# Error: Math Factor expected
File "C:\DOCUME~1\seba\USTAWI~1\Temp\temp.nxc" ; line 44
#    }
#----------------------------------------------------------
# Error: Unmatched close parenthesis
File "C:\DOCUME~1\seba\USTAWI~1\Temp\temp.nxc" ; line 44
#    }
#----------------------------------------------------------
# Error: ')' expected
File "C:\DOCUME~1\seba\USTAWI~1\Temp\temp.nxc" ; line 44
#    }
#----------------------------------------------------------
# Error: ';' expected
File "C:\DOCUME~1\seba\USTAWI~1\Temp\temp.nxc" ; line 45
#   }
#----------------------------------------------------------
# Error: ';' expected
File "C:\DOCUME~1\seba\USTAWI~1\Temp\temp.nxc" ; line 47
#   task m
#----------------------------------------------------------
# Error: Undefined Identifier maind
File "C:\DOCUME~1\seba\USTAWI~1\Temp\temp.nxc" ; line 47
#   task maind(
#----------------------------------------------------------
# Error: ';' expected
File "C:\DOCUME~1\seba\USTAWI~1\Temp\temp.nxc" ; line 47
#   task maind()
#----------------------------------------------------------
# Error: Unmatched close parenthesis
File "C:\DOCUME~1\seba\USTAWI~1\Temp\temp.nxc" ; line 49
#   {
#----------------------------------------------------------
# Error: ';' expected
File "C:\DOCUME~1\seba\USTAWI~1\Temp\temp.nxc" ; line 50
#    S
#----------------------------------------------------------
# Error: Unmatched close parenthesis
File "C:\DOCUME~1\seba\USTAWI~1\Temp\temp.nxc" ; line 50
#    SetSensorLight(0);
#----------------------------------------------------------
# Error: Unmatched close parenthesis
File "C:\DOCUME~1\seba\USTAWI~1\Temp\temp.nxc" ; line 51
#    OnFwd(0, 60);
#----------------------------------------------------------
# Error: Unmatched close parenthesis
File "C:\DOCUME~1\seba\USTAWI~1\Temp\temp.nxc" ; line 53
#    {
#----------------------------------------------------------
# Error: Unmatched close parenthesis
File "C:\DOCUME~1\seba\USTAWI~1\Temp\temp.nxc" ; line 55
#    {
#----------------------------------------------------------
# Error: ',' expected
File "C:\DOCUME~1\seba\USTAWI~1\Temp\temp.nxc" ; line 56
#    OnRevSync(2, 90);
#----------------------------------------------------------
# Error: Math Factor expected
File "C:\DOCUME~1\seba\USTAWI~1\Temp\temp.nxc" ; line 58
#    }
#----------------------------------------------------------
# Error: Unmatched close parenthesis
File "C:\DOCUME~1\seba\USTAWI~1\Temp\temp.nxc" ; line 58
#    }
#----------------------------------------------------------
# Error: ')' expected
File "C:\DOCUME~1\seba\USTAWI~1\Temp\temp.nxc" ; line 58
#    }
#----------------------------------------------------------
# Error: ';' expected
File "C:\DOCUME~1\seba\USTAWI~1\Temp\temp.nxc" ; line 59
#   }
#----------------------------------------------------------
# Error: ';' expected
File "C:\DOCUME~1\seba\USTAWI~1\Temp\temp.nxc" ; line 61
#   task m
#----------------------------------------------------------
# Error: Undefined Identifier maine
File "C:\DOCUME~1\seba\USTAWI~1\Temp\temp.nxc" ; line 61
#   task maine(
#----------------------------------------------------------
# Error: ';' expected
File "C:\DOCUME~1\seba\USTAWI~1\Temp\temp.nxc" ; line 61
#   task maine()
#----------------------------------------------------------
# Error: Unmatched close parenthesis
File "C:\DOCUME~1\seba\USTAWI~1\Temp\temp.nxc" ; line 63
#   {
#----------------------------------------------------------
# Error: ';' expected
File "C:\DOCUME~1\seba\USTAWI~1\Temp\temp.nxc" ; line 64
#    S
#----------------------------------------------------------
# Error: Unmatched close parenthesis
File "C:\DOCUME~1\seba\USTAWI~1\Temp\temp.nxc" ; line 64
#    SetSensorLight(0);
#----------------------------------------------------------
# Error: Unmatched close parenthesis
File "C:\DOCUME~1\seba\USTAWI~1\Temp\temp.nxc" ; line 65
#    OnFwd(0, 60);
#----------------------------------------------------------
# Error: Unmatched close parenthesis
File "C:\DOCUME~1\seba\USTAWI~1\Temp\temp.nxc" ; line 67
#    {
#----------------------------------------------------------
# Error: Unmatched close parenthesis
File "C:\DOCUME~1\seba\USTAWI~1\Temp\temp.nxc" ; line 69
#    {
#----------------------------------------------------------
# Error: ',' expected
File "C:\DOCUME~1\seba\USTAWI~1\Temp\temp.nxc" ; line 70
#    OnFwdSync(2, 90);
#----------------------------------------------------------
# Error: Math Factor expected
File "C:\DOCUME~1\seba\USTAWI~1\Temp\temp.nxc" ; line 73
#    }
#----------------------------------------------------------
# Error: Unmatched close parenthesis
File "C:\DOCUME~1\seba\USTAWI~1\Temp\temp.nxc" ; line 73
#    }
#----------------------------------------------------------
# Error: ')' expected
File "C:\DOCUME~1\seba\USTAWI~1\Temp\temp.nxc" ; line 73
#    }
#----------------------------------------------------------
# Error: ';' expected
File "C:\DOCUME~1\seba\USTAWI~1\Temp\temp.nxc" ; line 74
#   }
#----------------------------------------------------------
# Error: '}' expected
File "C:\DOCUME~1\seba\USTAWI~1\Temp\temp.nxc" ; line 77
#   
#----------------------------------------------------------
# Error: '}' expected
File "C:\DOCUME~1\seba\USTAWI~1\Temp\temp.nxc" ; line 78
#   
#----------------------------------------------------------
# Error: '}' expected
File "C:\DOCUME~1\seba\USTAWI~1\Temp\temp.nxc" ; line 79
#   
#----------------------------------------------------------
# Error: '}' expected
File "C:\DOCUME~1\seba\USTAWI~1\Temp\temp.nxc" ; line 80
#   
#----------------------------------------------------------
# Error: '}' expected
File "C:\DOCUME~1\seba\USTAWI~1\Temp\temp.nxc" ; line 81
#   
#----------------------------------------------------------
# Error: No task named "main" exists
File "C:\DOCUME~1\seba\USTAWI~1\Temp\temp.nxc" ; line 82
#   
#----------------------------------------------------------
Link do komentarza
Share on other sites

Pierwszy błąd (z linii 28) odnosi się do tego, że funkcja OnRevSync potrzebuje 3 argumentów a nie tylko 2.

Poszukaj dokładnie o jej użyciu.

Np. http://bricxcc.sourceforge.net/nbc/nxcdoc/nxcapi/group___output_module_functions_ga9b4abfa8f99355b600764a4028122e94.html

Część błędów występujących dalej powinna zniknąć, jak to poprawisz.

Jak będą kolejne, to zazwyczaj jest napisane, do jakiej funkcji się odnoszą, to najpierw postaraj się znaleźć więcej informacji o jej użyciu. Jeśli chodzi o ";", to często kompilatory pokazują ten błąd w kolejnej linii. Numerowanie linii też czasami jest trochę inne, więc trzeba po prostu szukać.

Osobiście nie miałem zbyt dużo kontaktu z programowaniem bricxc, ale wszystko jest oparte na C.

  • Lubię! 1
Link do komentarza
Share on other sites

Warto podkreślić, że nieraz jeden błąd skutkuje tym, że kompilator pokazuje kilka kolejnych, których tak naprawdę nie ma (zwłaszcza dotyczy to błędów typu brak średnika, nawiasu itp.). Dlatego jeśli nie widać kolejnych błędów na pierwszy rzut oka, to poprawiaj tylko pierwszy i patrz czy to nie wystarczyło.

  • Pomogłeś! 1
Link do komentarza
Share on other sites

Dzięki za pomoc, a oto ostateczna wersja programu.


/*program*/

#define NAPED 100   // predkosc jazdy normalnie

#define NAPEDW 100  // predkosc jazdy (czujnik wewnetrzny)
#define NAPEDZ 75   // predkosc jazdy (czujnik zewnetrzny)

#define WS 5        // procent obrotu w lewo/prawo (czujnik wewnetrzny)    //****************//
#define SOLW 75     // szybkosc obrotu w lewo wewnetrzny                   //  SKRETY WEW    //
#define SOPW 75     // szybkosc obrotu w prawo wewnetrzny                  //****************//

#define POZ 90      // procent obrotu w lewo/prawo (czujnik zewnetrzny)    //*****************//
#define SOPZ 80     // szybkosc obrotu w prawo zewnetrzny                  //  SKRETY ZEW     //
#define SOLZ 80     // szybkosc obrotu w lewo zewnetrzny                   //*****************//

#define CWLP 41     // czarny wewnetrzny lewo/prawo                      //**********************//
#define CZLP 41     // czarny zewnetrzny lewo/prawo                      // KALIBRACJA CZUJNIKOW //
                                                                        //**********************//




task main()

{
    OnFwd(OUT_A, NAPED);

}

//*********//
// CZĘSC 1 //
//*********//


task mainb()

          //***********//
          // CZUJNIK 2 //
          //***********//

{

SetSensor(IN_2, SENSOR_LIGHT);
SetSensorType(IN_2, SENSOR_TYPE_LIGHT_ACTIVE);
while (true)
   {
      if (Sensor(IN_2) <= CWLP)     // czujnik wewnetrzny lewo
      {
      OnFwd(OUT_A, NAPEDW);   // szybkosc gdy czujnik wew
      RotateMotor(OUT_C,SOLW,WS);   // procent obrotu w lewo  wewnetrzny
      }

   }
}

//*********//
// CZĘSC 2 //
//*********//

task mainc()

          //***********//
          // CZUJNIK 3 //
          //***********//

{

SetSensor(IN_3, SENSOR_LIGHT);
SetSensorType(IN_3, SENSOR_TYPE_LIGHT_ACTIVE);
while (true)
  {
      if (Sensor(IN_3) <= CWLP)    // czujnik wewnetrzny prawo
      {
      OnFwd(OUT_A, NAPEDW);   // szybkosc gdzy czujnik wew
      RotateMotor(OUT_C,SOPW,WS);    // procent obrotu w prawo wewnetrzny
      }

  }
}

//*********//
// CZĘSC 3 //
//*********//

task maind()

          //***********//
          // CZUJNIK 1 //
          //***********//

{

SetSensor(IN_1, SENSOR_LIGHT);
SetSensorType(IN_1, SENSOR_TYPE_LIGHT_ACTIVE);
while (true)
  {
      if (Sensor(IN_1) <= CZLP)   //   czujnik zewnetrzny lewo
      {
      OnFwd(OUT_A, NAPEDZ);    // szybkosc gdy czujnik zew
      RotateMotor(OUT_C,SOLZ,POZ);   //  procent obrotu w lewo zewnetrzny
      }


  }
}

//*********//
// CZĘSC 4 //
//*********//

task maine()

          //***********//
          // CZUJNIK 4 //
          //***********//

{

SetSensor(IN_4, SENSOR_LIGHT);
SetSensorType(IN_4, SENSOR_TYPE_LIGHT_ACTIVE);
while (true)
  {
      if (Sensor(IN_4) <= CZLP)  // czujnik zewnetrzny prawo
      {
      OnFwd(OUT_A, NAPEDZ);   // szybkosc gdy czujnik zew
      RotateMotor(OUT_C,SOPZ,POZ);   // procent obrotu w prawo zewnetrzny
      }


  }
}

//*******//
// TEKST //
//*******//

task maina()
{
TextOut(0,LCD_LINE1,"Program by seba",true);
Wait(15000);
ClearScreen();
}

Pytanie czy będzie działać?

Prosiłbym o sprawdzenie go przez osobę która bawiła się kiedyś lego mindstorms.

I jeszcze jedno pytanie, a mianowicie chodzi mi o czarną linie, jaka wartość od 0 do 100 symbolizuje kolor czarny (od jakiej do jakiej czujnik wykrywa czarny).

Link do komentarza
Share on other sites

Czy będzie działać to najlepiej sprawdź na robocie 🙂

Co do czarnej linii, w zależności od oświetlenia, taśmy użytej do wylepienia linii i odległości czujnika od podłoża, jego wskazania będą różne, dlatego nie ma jednoznacznej odpowiedzi ile w skali od 0 do 100 ma kolor czarny. Najlepiej przyjmij sobie jakąś wartość progową, powyżej której wszystko uznasz za białe, a poniżej za czarne. Dobrym punktem wyjścia jest 50 😉

Warto też dodać, że wskazania od 0 do 100 to są już przetworzone pomiary czujnika. Można skalibrować czujnik do danych warunków, tak, że czarny będzie bardzo bliski 0, a biały 100. Dodatkowo można też się dobrać do nieprzetworzonych pomiarów. Pogooglaj sobie kalibrację czujnika światła w mindstormsach (najlepiej po angielsku), na pewno coś znajdziesz.

  • Pomogłeś! 1
Link do komentarza
Share on other sites

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.