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

Jak użyć zmiennych zamiast portów w podprogramie Bascom dla zaworów Z1-Z10?

marekms1 10 Mar 2013 20:59 1290 6
  • #1 12043559
    marekms1
    Poziom 13  
    Witam
    Próbuję swoich sił w Bascomie i natrafiłem na mały problem. Nie wiem jak w takim podprogramie zamiast portb.0 wstawić zmienną:

    Otw:

    Kod: text
    Zaloguj się, aby zobaczyć kod


    Tak abym ten podprogram mógł wykorzystać do otwierania zaworów o nazwach od Z1 do Z10?

    Marek
    PS
    Przepraszam ale w pośpiechu wkleiłem jedną z prób podejścia do problemu. Teraz jest dobra wersja. Jak zamienić portb.0 i portk.0 na zmienne i jakie tak aby wstawić je do podprogramu. Próbowałem tak:
    Kod: text
    Zaloguj się, aby zobaczyć kod

    i podstawiłem ww zmienne zamiast nazw pinów do powyższego podprogramu i kompilator wywala błąd.
  • #2 12043574
    paluch_gda
    Poziom 16  
    ale Z1 to jest zmienna przecież. Pewnie w programie zadeklarowana jako byte.
  • #3 12043695
    M. S.
    Poziom 34  
    Z1 niekoniecznie jest zmienną. Może to być nazwa nadana Alias'em.
    Jednakże nic nie przeszkadza aby "Z1 Alias ...." zastąpić zmienną "Dim Z1 As ..."

    Ponieważ, jak się domyślam, do sterowania zaworu potrzebujesz 1 bit to najoszczędniej byłoby zadeklarować zmienną Zawor jako Word - 2 bajty (Dim Zawor as Word) i działać na jej bitach - Zawor.0 - zawór 1, Zawor.1 - zawór 2 itd.
    Jak dobrze pamiętam możliwe jest użycie zmiennej Zawor.Numer gdzie Numer jest zmienną Byte wskazującą o który zawór chodzi. W przypadku 8 zaworów wystarczyło by Dim Zawor as Byte

    No o masz. Nakombinowałem się, a w tym czasie kolega zmienił swój post.
  • #4 12044801
    marekms1
    Poziom 13  
    Próbowałem ze zmienną typu Word ale ta podstawia do zmiennej wartość wskazanego pinu a nie ustawia pin. Po przemyśleniu problem polega na tym jak zdefiniować zmienną aby wstawiając do niej alias można było sterować stanem pin wyjściowego przez set lub reset.

    Marek
  • #5 12045429
    zumek
    Poziom 39  
    marekms1 napisał:
    Próbowałem ze zmienną typu Word ...
    Marek

    Ja tez spróbowałem i ...
    Kod: text
    Zaloguj się, aby zobaczyć kod


    Inaczej ...


    Kod: text
    Zaloguj się, aby zobaczyć kod


    I jeszcze z pięć innych sposobów, po głowie mi się kołacze :-P
  • #6 12045469
    Konto nie istnieje
    Konto nie istnieje  
  • #7 12047359
    marekms1
    Poziom 13  
    Dziękuję za zainteresowanie. Już działa. Problem polegał na tym że zmiennej Z przyporządkowywałem nazwy zaworów a więc konkretne piny czyli zmienna powinna być typu Bit.

    Marek
REKLAMA