Skocz do zawartości

[Bascom] dziwne bledy przy kompilacji, proba uzyskania czlonu P w bascom


kubahel

Pomocna odpowiedź

Witam wszystkich,

mam problem, napisałem z "pomocą" internetu część kodu do mojego linefollowera, w którym chcę wykorzystać cos podobnego do członu P, mam jednak problem w obliczeniach, a raczej bascom ma dziwne problemy z moim zapisem 😉. Wiem, że ładny ten kod nie jest ale wcześniej pisałem z użyciem if co przy większej ilości czujników jest ciężkie do opisania 😉

'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
'xxxxxxxxxxxxxxx LINE FOLLOWER xxxxxxxxxxxxxxxxxx'

$regfile = "m8def.dat"
$crystal = 8000000
$baud = 19200

'konfiguracja portów
Config Portc = Input                                        'czujniki
Config Portd.2 = Input
Config Portb.3 = Input
Config Portd.4 = Input                                      'start

Config Portb.1 = Output                                     'PWM1a
Config Portb.2 = Output                                     'PWM1b

Config Portb.0 = Output                                     'input1  silnik lewy A
Config Portd.7 = Output                                     'input2  silnik lewy B
Config Portd.6 = Output                                     'input3 silnik prawy A
Config Portd.5 = Output                                     'input4 silnik prawy B

Set Portc
Set Portd.2
Set Portd.4
Set Portb.3

'Konfiguracja sterowania sprzętowym PWM
Config Timer1 = Pwm , Pwm = 8 , Prescale = 256 , Compare A Pwm = Clear Up , Compare B Pwm = Clear Up
Start Timer1
Pwm1a = 0
Pwm1b = 0

Silnik_lewy_a Alias Portb.0
Silnik_lewy_b Alias Portd.7
Silnik_prawy_b Alias Portd.6
Silnik_prawy_a Alias Portd.5
Dioda Alias Portb.5
Startuj Alias Portd.4

Dim Czuj3p As Byte
Dim Czuj2p As Byte
Dim Czuj1p As Byte
Dim Czuj1l As Integer
Dim Czuj2l As Integer
Dim Czuj3l As Integer

Dim Aktualna_poz As Single
Dim Ile As Byte
Dim Lewe As Single
Dim Prawe As Byte
Dim suma As Integer


Set Silnik_lewy_b
Reset Silnik_lewy_a
Set Silnik_prawy_a
Reset Silnik_prawy_b
Set Startuj
Set Dioda


Do

Ile = 1
Aktualna_poz = 0

'odczyt

  If Pinc.1 = 0 Then
    Czuj3p = 3
    Ile = Ile + 1

    Else
    Czuj3p = 0
    End If

  If Pinc.2 = 0 Then
    Czuj2p = 2
    Ile = Ile + 1

    Else
    Czuj2p = 0
    End If

  If Pinc.3 = 0 Then
    Czuj1p = 1
    Ile = Ile + 1

    Else
    Czuj1p = 0
    End If

  If Pinc.4 = 0 Then
    Czuj1l = -1
    Ile = Ile + 1

    Else
    Czuj1l = 0
    End If

  If Pinc.5 = 0 Then
    Czuj2l = -2
    Ile = Ile + 1

    Else
    Czuj2l = 0
    End If

  If Pind.2 = 0 Then
    Czuj3l = -3
    Ile = Ile + 1

    Else
    Czuj3l = 0
    End If

'obliczenia

Lewe = Czuj3l + Czuj2l + Czuj1l
Prawe = Czuj1p + Czuj2p + Czuj3p

suma = Lewe + Prawe
Aktualna_poz = suma / Ile


Loop

End

a tu są błędy:

Error : 35    Line :   129   3 parameters expected  , in File : C:\Documents and...
Error : 35    Line :   130   3 parameters expected  , in File : C:\Documents and....
Error : 124   Line :   130   LOOP expected  , in File : C:\Documents and....

line 129 to: Lewe = Czuj3l + Czuj2l + Czuj1l

pomóżcie jakimiś wskazówkami, rozwiązaniami co robię źle i skąd takie błędy, gdy rozwiąże ten błąd dopiero postaram się dopisać resztę 😉

Kuba

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

dzięki za podpowiedzi 😉 Rozpisałem każdą z tych linijek na działania na dwóch liczbach i błędów nie ma 😉

Lewe = Czuj3l + Czuj2l
Prawe = Czuj3p + Czuj2p

Lewe = Lewe + Czuj1l
Prawe = Prawe + Czuj1p

tylko kod trochę dłuższy, jak dopiszę reszte programu to dam znać czy działa, a raczej będe szukał kolejnych podpowiedzi 😋

Link do komentarza
Share on other sites

dzięki za pomoc, jak widać mnie też ona dotknęła ale jest dobrze błędów się pozbyłem, a dalsza część kodu do przeliczania wartości czujników na PWM też już zaczyna działać jak należy 😅

Link do komentarza
Share on other sites

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!

Gość
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • 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.