logo elektroda
logo elektroda
X
logo elektroda
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

[Rozwiązano] Bascom: Błąd kompilacji - zmienna P3 i RESET, linia 17 w programie Nawijarka z EdW 7/2000

anszun 04 Sie 2021 22:37 987 15
  • #1 19549561
    anszun
    Poziom 18  
    Raczkuję w Bascomie i nie mogę sobie poradzić z problemem. Program nie daje się skompilować podając : Error: Line: 17 Variable can not be used whit RESET
    Proszę o podpowiedź...i dlaczego P3 jest traktowane jako zmienna ?
  • #2 19549799
    sp3ots
    Poziom 38  
    Witam !
    Program jest niekompletny, brakuje zakończenia tego warunku:
    
      If Rotations = 65536 Then
    

    Kompilowałem ten program w Bascomie AVR, ale to jest kod Bascoma 8051.
    Skąd wziąłeś KOD ?
  • #3 19549877
    Gienek
    Poziom 37  
    Faktycznie, to jest tylko część programu. A może to chodzi o projekt AVT-896?
  • #4 19550001
    anszun
    Poziom 18  
    Jest dalsza część : If Rotations = 0 Then Rotations = 1
    End If
    Kod z "Elektroniki dla wszystkich " 7/2000. To cały program. Nie, tu nie chodzi o
    AVT-896 , ( Bardzo bym był wdzięczny za wskazanie jak go zdobyć )
    Program rzeczywiście napisany pod 89C2051 , ale w BASCOM więc myślę , że z kompilacją nie powinno być problemu.
  • #5 19550046
    sp3ots
    Poziom 38  
    Aleś pomieszał !
    Z jakiego bascoma jest to ?:
    S1 Alias Pd.4
    S2 Alias Pd.5
    S3 Alias Pd.7
    Jaki uP chcesz używać ?
  • #6 19550080
    anszun
    Poziom 18  
    No, masz rację, już poprawiłem swoje "poprawki" co nie zmienia tego, że nie da się skompilować dokładnie przepisanego kodu.
    Kompilowałem na Bascom AVR i na Bascom 8051 i ten sam błąd.
    A tak w ogóle to chyba wejścia i wyjścia w tych procesorkach można zdefiniować w/g woli autora.
    Program jest pod 89C2051
  • #7 19550100
    sp3ots
    Poziom 38  
    Ty nie namieszałeś ?
    a kto założył temat i wkleił


    Podałeś dwa źródła programu,
    1. plik tekstowy w którym jest to:
    a to z jakiego Bascoma ?
    S1 Alias Pd.4
    S2 Alias Pd.5
    S3 Alias Pd.7
    2. źródło to EDW, a tam jest to:
    Bascom 8051
    S1 Alias P3.4
    S2 Alias P3.5
    S3 Alias P3.7
  • #8 19550106
    anszun
    Poziom 18  
    Przepraszam , przyznanie do winy nad Twoim postem.

    Dodano po 5 [minuty]:

    Program przycięty do pierwszego Reset P3.0 : Reset P3.1 : Reset P3.2 : Reset P3.3
    już wykazuje błąd. Czyżby (podejrzenie laika) auto nie zdefiniował portów ?
    Poza tym steps =25 .. czy nie powinno zostać wyłączone apostrofem ?
  • #9 19550120
    sp3ots
    Poziom 38  
    Kod: VB.net
    Zaloguj się, aby zobaczyć kod

    Poprawiony kod dla 2051, on się kompiluje, ale czy zadziała nie wiem, nie mam programatora dla 2051.
    Dodałem tą linię:
    $regfile = "89s2051.dat"
    aby było jasne na jaki uP jest kod.
  • #10 19550152
    anszun
    Poziom 18  
    Dzięki, ale niestety u mnie się nie kompiluje. Skopiowałem z Twojego postu, ale wyskakuje błąd. Bascom: Błąd kompilacji - zmienna P3 i RESET, linia 17 w programie Nawijarka z EdW 7/2000

    UPS ! Skompilował się w BASCOM 8051. Jeszcze raz dziękuję :)
  • Pomocny post
    #11 19550155
    sp3ots
    Poziom 38  
    Nie da się skompilować pliku Bascoma 8051 w Bascomie AVR !
  • #12 19550289
    anszun
    Poziom 18  
    Teraz już wiem :)
  • #13 19550450
    Gienek
    Poziom 37  
    Nie wiem czy to jest ważne. Program skompilowany dla AT89S2051, a autor zastosował AT89C2051. Programowo to nie problem, ale sprzętowo może się pojawić.
  • #14 19550465
    sp3ots
    Poziom 38  
    Gienek napisał:
    Nie wiem czy to jest ważne. Program skompilowany dla AT89S2051, a autor zastosował AT89C2051. Programowo to nie problem, ale sprzętowo może się pojawić.


    Ta linia o której pisze Gienek powstała tak:
    W Bascomie 8051 są pliki demo, edytowałem jeden z plików demo, a tam było:
    $regfile = "89s4051.dat" , przerobiłem na $regfile = "89s2051.dat" i wkleiłem do kodu.
    Litera "S" w symbolu uP mówi że można go programować programatorem ISP.

    Dla porządku proponuję tę linię przepisać na:
    $regfile = "89C2051.dat"
  • #15 19550513
    Gienek
    Poziom 37  
    Okazuje się, że to nie tylko "porządek", ale zasadnicza różnica po kompilacji w plikach .hex :D
  • #16 19718292
    anszun
    Poziom 18  
    Zdobyłem właściwy kompilator..jeszcze na LPT.

Podsumowanie tematu

Użytkownik napotkał błąd kompilacji w programie napisanym w Bascomie, związany z użyciem zmiennej P3 w linii 17, co skutkuje komunikatem "Variable can not be used with RESET". W dyskusji zauważono, że program jest niekompletny i wymaga zakończenia warunku. Użytkownicy wskazali, że kod jest przeznaczony dla mikrokontrolera 89C2051, a nie 89S2051, co może wpływać na kompilację. Podkreślono, że program skompilowany w Bascomie 8051 nie działa w Bascomie AVR. Ostatecznie, po poprawkach, użytkownik zdołał skompilować kod w odpowiednim środowisku.
Podsumowanie wygenerowane przez model językowy.
REKLAMA