Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Obsługa klawiatury- MENU - BASCOM AVR

27 Wrz 2011 20:15 2436 2
  • Poziom 10  
    Witam wszystkich Forumowiczów.
    Mam pewien problem z klawiaturą w Bascom. Nie chodzi tu o konfigurację i podłączenie ale o stworzenie menu.

    Piszę program, w którym planuję stworzenie menu do obsługi urządzenia - pomiar temperatury, ciśnienia, wilgotności. Planuję stworzyć menu składające się w dwóch podmenu. Pierwsze to Odczyt a drugie to Konfiguracja.

    Jak na razie udało mi się stworzyć taki kawałek programu:


    Kod: basic4gl
    Zaloguj się, aby zobaczyć kod


    Tutaj proszę o podpowiedź, co należy zrobić aby wyjść z pętli While Wend?

    Próbowałem kolejny raz użyć funkcji Getatkbd() ale to nic nie dawało.

    Jeżeli byłby ktoś tak miły i w łopatologiczny sposób wytłumaczył mi jak wyjść z tej pętli do pętli głównej Do...Loop to będę bardzo wdzięczny.

    Procesor to ATmega32

    Pozdrawiam
    Łukasz
    Darmowe szkolenie: Ethernet w przemyśle dziś i jutro. Zarejestruj się za darmo.
  • Poziom 20  
    Za polskim helpem Bascoma

    Przeznaczenie:

    Powoduje przerwanie wykonywania instrukcji: FOR..NEXT, DO..LOOP, WHILE..WEND, SUB..END SUB lub FUNCTION..END FUNCTION.

    Składnia:

    EXIT FOR
    EXIT DO
    EXIT WHILE
    EXIT SUB
    EXIT FUNCTION

    Opis:

    Za pomocą instrukcji EXIT można w każdej chwili wyjść z dowolnej instrukcji strukturalnej.

    Przykład:


    '--------------------------------------------------------------
    ' (c) 2000 MCS Electronics
    '--------------------------------------------------------------
    ' plik: EXIT.BAS
    ' demo: EXIT
    '--------------------------------------------------------------
    Dim B1 As Byte , A As Byte

    B1 = 50 'przypisz wartość
    For A = 1 To 100 'pętla For..Next

    If A = B1 Then 'decyzja
    Exit For 'wychodzimy
    End If
    Next
    Print "Wyjście z pętli FOR..NEXT gdy A równe " ; A

    A = 1
    Do
    Incr A
    If A = 10 Then
    Exit Do
    End If
    Loop
    Print "Pętla przerwana gdy A=" ; A

    End

    (c) Zbigniew Gibek, 2002-2005 (c) MCS Electronics, 1999-2005
  • Poziom 10  
    Witam.

    Dziekuję za odpowiedź.
    Zastosowałem się do wskazówek zawartych w odpowiedzi.
    Zmodyfikowałem delikatnie program do postaci:

    Kod: basic4gl
    Zaloguj się, aby zobaczyć kod


    Pojawił się kolejny problem, mianowicie jak mam teraz wywołać Kod_kl = Getatkbd() aby została zmodyfikowana wartość Kod_kl ? Jeżeli umieszczę ją w pętli While...Wend za każdym razem bedę musiał wciskać klawisz, gdyż funkcja ta "czeka" na wcisnięcie klawisza. Zatrzymuje to wykonywanie programu.

    Pozdrawiam
    Łukasz