Marcos Napisano Styczeń 7, 2012 Udostępnij Napisano Styczeń 7, 2012 Mam taki programik: $regfile = "m8def.dat" $crystal = 1000000 'Konfiguracja przetwornika analog-cyfra (ADC) Config Adc = Single , Prescaler = Auto 'Konfiguracja sterowania sprzętowym PWM Config Timer1 = Pwm , Pwm = 8 , Prescale = 1 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down 'Konfiguracja portów Config Portd = Output Config Portb = Output 'Opis portów 'Enable1 - Silnik lewy - Portb.1 (PWM1A) 'Enable2 - Silnik prawy - portb.2 (PWM1B) 'Input1 - Silnik lewy A - Portd.3 'Input2 - Silnik lewy B - Portd.2 'Input4 - Silnik prawy A - Portd.0 'Input3 - Silnik prawy B - Portd.1 'Dioda - Portd.6 'Czujnik lewy - ADC5 'Czujnik środkowy - ADC4 'Czujnik prawy - ADC3 Silnik_lewy_a Alias Portd.0 Silnik_lewy_b Alias Portd.1 Silnik_prawy_b Alias Portd.2 Silnik_prawy_a Alias Portd.3 Dioda Alias Portd.6 'Deklaracje zmiennych Dim Czujnik_lewy As Single Dim Czujnik_srodkowy As Single Dim Czujnik_prawy As Single Dim Zmienna As Bit 'Blok instrukcji Do If Czujnik_srodkowy = 1 And Czujnik_lewy = 0 And Czujnik_prawy = 0 Then Gosub Go Elseif Czujnik_srodkowy = 0 And Czujnik_lewy = 1 And Czujnik_prawy = 0 THEN Zmienna = 0 Gosub Lewt Elseif Czujnik_srodkowy = 0 And Czujnik_lewy = 0 And Czujnik_prawy = 1 THEN Zmienna = 1 Gosub Righ Elseif Czujnik_srodkowy = 1 And Czujnik_lewy = 1 And Czujnik_prawy = 1 THEN Gosub No Elseif Czujnik_srodkowy = 1 And Czujnik_lewy = 1 And Czujnik_prawy = 0 THEN Zmienna = 0 Gosub Lewt Elseif Czujnik_srodkowy = 1 And Czujnik_lewy = 0 And Czujnik_prawy = 1 THEN Zmienna = 1 Gosub Righ Elseif Czujnik_srodkowy = 0 And Czujnik_lewy = 0 And Czujnik_prawy = 0 THEN If Zmienna = 0 Then Gosub Lewt Else Gosub Righ End If End If Loop End Return Lewt: Pwm1a = 200 Pwm1b = 0 Return Righ: Pwm1a = 0 Pwm1b = 200 Return End I wyskakuje mi błąd label not found. Wyskakuje w linijce gdzie mam End Cytuj Link do komentarza Share on other sites More sharing options...
Robomaniak Styczeń 7, 2012 Udostępnij Styczeń 7, 2012 W pierwszym warunku masz gosub go a po end masz tylko righ lewt Cytuj Link do komentarza Share on other sites More sharing options...
Marcos Styczeń 7, 2012 Autor tematu Udostępnij Styczeń 7, 2012 W pierwszym warunku masz gosub go a po end masz tylko righ lewt $regfile = "m8def.dat" $crystal = 1000000 'Konfiguracja przetwornika analog-cyfra (ADC) Config Adc = Single , Prescaler = Auto 'Konfiguracja sterowania sprzętowym PWM Config Timer1 = Pwm , Pwm = 8 , Prescale = 1 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down 'Konfiguracja portów Config Portd = Output Config Portb = Output Portb = &B0000 Portd = &B00000000 'Opis portów 'Enable1 - Silnik lewy - Portb.1 (PWM1A) 'Enable2 - Silnik prawy - portb.2 (PWM1B) 'Input1 - Silnik lewy A - Portd.3 'Input2 - Silnik lewy B - Portd.2 'Input4 - Silnik prawy A - Portd.0 'Input3 - Silnik prawy B - Portd.1 'Dioda - Portd.6 'Czujnik lewy - ADC5 'Czujnik środkowy - ADC4 'Czujnik prawy - ADC3 Silnik_lewy_a Alias Portd.0 Silnik_lewy_b Alias Portd.1 Silnik_prawy_b Alias Portd.2 Silnik_prawy_a Alias Portd.3 Dioda Alias Portd.6 'Deklaracje zmiennych Dim Czujnik_lewy As Single Dim Czujnik_srodkowy As Single Dim Czujnik_prawy As Single Dim Zmienna As Bit 'Blok instrukcji Do If Czujnik_srodkowy = 1 And Czujnik_lewy = 0 And Czujnik_prawy = 0 Then Gosub Go Elseif Czujnik_srodkowy = 0 And Czujnik_lewy = 1 And Czujnik_prawy = 0 Then Zmienna = 0 Gosub Lewt Elseif Czujnik_srodkowy = 0 And Czujnik_lewy = 0 And Czujnik_prawy = 1 Then Zmienna = 1 Gosub Righ Elseif Czujnik_srodkowy = 1 And Czujnik_lewy = 1 And Czujnik_prawy = 1 Then Gosub No Elseif Czujnik_srodkowy = 1 And Czujnik_lewy = 1 And Czujnik_prawy = 0 Then Zmienna = 0 Gosub Lewt Elseif Czujnik_srodkowy = 1 And Czujnik_lewy = 0 And Czujnik_prawy = 1 Then Zmienna = 1 Gosub Righ Elseif Czujnik_srodkowy = 0 And Czujnik_lewy = 0 And Czujnik_prawy = 0 Then If Zmienna = 0 Then Gosub Lewt Else Gosub Righ End If End If Loop Go: Pwm1a = 250 Pwm1b = 250 Return Lewt: Pwm1a = 200 Pwm1b = 0 Return Righ: Pwm1a = 0 Pwm1b = 200 Return End Zmieniłem i nie działa Cytuj Link do komentarza Share on other sites More sharing options...
Robomaniak Styczeń 7, 2012 Udostępnij Styczeń 7, 2012 Wklej jakie błędy wywala kompilator Cytuj Link do komentarza Share on other sites More sharing options...
Polecacz 101 Zarejestruj się lub zaloguj, aby ukryć tę reklamę. Zarejestruj się lub zaloguj, aby ukryć tę reklamę. 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
Marcos Styczeń 7, 2012 Autor tematu Udostępnij Styczeń 7, 2012 label not found linia:91 error:61 Cytuj Link do komentarza Share on other sites More sharing options...
MacGyver Styczeń 7, 2012 Udostępnij Styczeń 7, 2012 Cześć nie dodałeś podprogramu "no" $regfile = "m8def.dat" $crystal = 1000000 'Konfiguracja przetwornika analog-cyfra (ADC) Config Adc = Single , Prescaler = Auto 'Konfiguracja sterowania sprzętowym PWM Config Timer1 = Pwm , Pwm = 8 , Prescale = 1 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down 'Konfiguracja portów Config Portd = Output Config Portb = Output Portb = &B0000 Portd = &B00000000 'Opis portów 'Enable1 - Silnik lewy - Portb.1 (PWM1A) 'Enable2 - Silnik prawy - portb.2 (PWM1B) 'Input1 - Silnik lewy A - Portd.3 'Input2 - Silnik lewy B - Portd.2 'Input4 - Silnik prawy A - Portd.0 'Input3 - Silnik prawy B - Portd.1 'Dioda - Portd.6 'Czujnik lewy - ADC5 'Czujnik środkowy - ADC4 'Czujnik prawy - ADC3 Silnik_lewy_a Alias Portd.0 Silnik_lewy_b Alias Portd.1 Silnik_prawy_b Alias Portd.2 Silnik_prawy_a Alias Portd.3 Dioda Alias Portd.6 'Deklaracje zmiennych Dim Czujnik_lewy As Single Dim Czujnik_srodkowy As Single Dim Czujnik_prawy As Single Dim Zmienna As Bit 'Blok instrukcji Do If Czujnik_srodkowy = 1 And Czujnik_lewy = 0 And Czujnik_prawy = 0 Then Gosub Go Elseif Czujnik_srodkowy = 0 And Czujnik_lewy = 1 And Czujnik_prawy = 0 Then Zmienna = 0 Gosub Lewt Elseif Czujnik_srodkowy = 0 And Czujnik_lewy = 0 And Czujnik_prawy = 1 Then Zmienna = 1 Gosub Righ Elseif Czujnik_srodkowy = 1 And Czujnik_lewy = 1 And Czujnik_prawy = 1 Then Gosub No Elseif Czujnik_srodkowy = 1 And Czujnik_lewy = 1 And Czujnik_prawy = 0 Then Zmienna = 0 Gosub Lewt Elseif Czujnik_srodkowy = 1 And Czujnik_lewy = 0 And Czujnik_prawy = 1 Then Zmienna = 1 Gosub Righ Elseif Czujnik_srodkowy = 0 And Czujnik_lewy = 0 And Czujnik_prawy = 0 Then If Zmienna = 0 Then Gosub Lewt Else Gosub Righ End If End If Loop Go: Pwm1a = 250 Pwm1b = 250 Return Lewt: Pwm1a = 200 Pwm1b = 0 Return Righ: Pwm1a = 0 Pwm1b = 200 Return No: Pwm1a = 0 Pwm1b = 0 Return Zapomniałes dodać podprogramu "No:" No: Pwm1a = 0 Pwm1b = 0 Return 1 Cytuj Link do komentarza Share on other sites More sharing options...
Marcos Styczeń 8, 2012 Autor tematu Udostępnij Styczeń 8, 2012 Dzięki za pomoc. 😅😅😅 Cytuj Link do komentarza Share on other sites More sharing options...
Pomocna odpowiedź
Dołącz do dyskusji, napisz odpowiedź!
Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!