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

[BASCOM] - jak wykonać oczekiwanie na określoną ilość us?

KJ 19 Lip 2002 21:06 3206 5
REKLAMA
  • #1 27574
    KJ
    Poziom 31  
    Posty: 2370
    Pomógł: 68
    Ocena: 945
    Cze. Mam zapytanie jak zrobić żeby program czekał określoną zmienną ilość us? Napisałem próbny program:

    Dim Waitt As Byte
    Dim Waitt1 As Byte
    Waitt = 100
    Waitt1 = 100

    Do
    Set Portb.7
    Waitus 100
    Reset Portb.7
    Waitus 100
    Loop

    Do Pb.7 mam podłączoną diodę LED za pośrednictwem ULN2803 kiedy program jest taki jak na listingu powyżej to jest OK. dioda świeci a właściwie miga czego rzecz jasna nie widać a kiedy się zamieni na postać taką:

    Dim Waitt As Byte
    Dim Waitt1 As Byte
    Waitt = 100
    Waitt1 = 100

    Do
    Set Portb.7
    Waitus Waitt
    Reset Portb.7
    Waitus Waitt1
    Loop

    to już nie działa, choć zmienne maja te same wartości, co wpisane wcześniej liczby. Dlaczego?
  • REKLAMA
  • #2 27631
    MarioB
    Poziom 16  
    Posty: 166
    Ocena: 5
    Tak naprawdę w pierwszej wersji możesz wyciąć pierwsze cztery linijki i programik też będzie chodził, gdyż jako argument funkcji podajesz wprost wartość.
    W drugim przypadku masz chyba namieszane z deklaracjami zmiennych. Zadeklarowałeś zmienne Waitt i Waitt1 jako byte. Typ byte ma zakres od 0 do 255. Sprawdź w opisie funkcji Waitus jakiego typu musi być argument ( myślę, że raczej integer albo long ).
  • REKLAMA
  • #3 27718
    KJ
    Poziom 31  
    Posty: 2370
    Pomógł: 68
    Ocena: 945
    Wiem ze pierwsze 4 linijki w pierwszej wersji mozna usunąć a ich obecność wynika z eksperymentów.
  • REKLAMA
  • #4 28843
    Konto nie istnieje
    Konto nie istnieje  
  • REKLAMA
  • #5 29005
    Jaca
    Poziom 32  
    Posty: 1332
    Pomógł: 239
    Ocena: 217
    Cze !
    Odpowiedź jest prosta ! Naciśnij w symulatorze ikonkę "Refresh variables" i po krzyku... Ale co z tego, komenda Waitus potrzebuje jako argumentu stałej a nie zmiennej. Sposobem na ominięcie tego problemu jest wstawienie komendy Waitus w pętle For..Next:

    For Czekaj = 1 To Waitt
    Waitus 1
    Next
  • #6 29599
    KJ
    Poziom 31  
    Posty: 2370
    Pomógł: 68
    Ocena: 945
    Jaca to jest genialne :D :D :D DZIĘKI
REKLAMA