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

BascomAVR Atmega8 Przerwanie wykonywanego polecenia

zicherek2 01 Sty 2020 21:02 357 3
REKLAMA
  • #1 18374356
    zicherek2
    Poziom 12  
    Witam, znalazłem kilka podobnych rozwiązanych tematów, ale nie do końca do konkretnego przypadku.

    Ma być takie coś:
    Wyświetla odpowiednie informacje na LCD - to działa
    Teraz ma poczekać 120 sekund i przejść do "Automatycznie3" - też działa
    Ma być jednak dodatkowo, że jak w przeciągu tych 120 sekund Cofn=0 (przypisany odpowiednio pin) to ma przejść do "Wybor"

    Nie wiem jak to ugryźć, jestem bardziej początkujący, ale w skrócie ma być tak "czekaj 120 s i przejdź dalej lub jeśli w międzyczasie nacisnę przycisk to wróć"

    Kawałek kodu, gdzie próbowałem takiego polecenia, ale już rozumiem, dlaczego nie zadziałało:

    Kod: VB.net
    Zaloguj się, aby zobaczyć kod
  • REKLAMA
  • REKLAMA
  • #3 18375215
    zicherek2
    Poziom 12  
    Musiałem dołożyć jeszcze jednego "End if" pomiędzy "Odlicz" a "Do"
    Druga sprawa to "Dim Odlicz As Byte" przeniosłem na początek kodu - jeśli mam tam 5 programów i w każdym było to polecenie to wywalało błąd.

    Bardzo pomogłeś, efekt jest taki jak zamierzony :)

    Tak by wyglądał 1 z 5 programów, pomiędzy którymi przechodzi co 100 s aż do wciśnięcia "Cofn":

    
    Automatycznie2:
    
       Locate 1 , 1
       Lcd " Tryb Automat. "
       Locate 2 , 1
       Lcd "Aktualnie: PR:2 "
       Prog1 = 0
       Prog2 = 1
       Prog3 = 0
       Prog4 = 0
       Prog5 = 0
       If Cofn = 0 Then
       Goto Wybor
       Else
        Odlicz = 200
        End If
        Do
         Waitms 500
         Decr Odlicz
         If Cofn = 0 Then Goto Wybor
        Loop Until Odlicz = 0
         Goto Automatycznie3
    
    
REKLAMA