favi413 Napisano Grudzień 14, 2011 Udostępnij Napisano Grudzień 14, 2011 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 # #----------------------------------------------------------
TurlacZ Grudzień 14, 2011 Udostępnij Grudzień 14, 2011 Masz przecież wypisane błędy oraz w której lini występują. Większość to brak średników i nawiasów.
TurlacZ Grudzień 14, 2011 Udostępnij Grudzień 14, 2011 W tym kodzie, który podałeś. przykładowo w ostatnim if'ie brakuje nawiasu zamykającego.
favi413 Grudzień 14, 2011 Autor tematu Udostępnij Grudzień 14, 2011 No ok ale w 26 pokazuje mi przecinek, a przecinek jest wstawiony.A tak przy okazji będzie działał ten program bo uczę się programować od 2 godzin.
TurlacZ Grudzień 14, 2011 Udostępnij Grudzień 14, 2011 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.
favi413 Grudzień 14, 2011 Autor tematu Udostępnij Grudzień 14, 2011 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 # #----------------------------------------------------------
mactro Grudzień 16, 2011 Udostępnij Grudzień 16, 2011 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. 1
favi413 Grudzień 16, 2011 Autor tematu Udostępnij Grudzień 16, 2011 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 # #----------------------------------------------------------
boyar01 Grudzień 16, 2011 Udostępnij Grudzień 16, 2011 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. 1
mactro Grudzień 17, 2011 Udostępnij Grudzień 17, 2011 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. 1
favi413 Grudzień 17, 2011 Autor tematu Udostępnij Grudzień 17, 2011 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).
mactro Grudzień 17, 2011 Udostępnij Grudzień 17, 2011 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. 1
favi413 Grudzień 18, 2011 Autor tematu Udostępnij Grudzień 18, 2011 Dziękuję wszystkim za pomoc, temat do zamknięcia.
Pomocna odpowiedź
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ę »