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

[Attiny2313][Bascom] Wielopoziomowe menu.

sq3fyk 27 Lip 2008 14:42 5877 6
REKLAMA
  • #1 5382891
    sq3fyk
    Poziom 11  
    Witam serdecznie chcialbym zrobic wielopoziomowe menu w bascomie dla attiny2313 oto czesc mojego programu
    ---------------------------------
    $regfile = "attiny2313.dat"
    $crystal = 18000000
    Config Lcdpin = Pin , Db7 = Pb.2 , Db6 = Pb.3 , Db5 = Pb.4 , Db4 = Pb.5 , E = Pb.6 , Rs = Pb.7
    Config Lcd = 16 * 2
    Config Portd.4 = Input
    Config Portd.5 = Input
    Config Portd.6 = Input
    Portd.4 = 1
    Portd.5 = 1
    Portd.6 = 1
    Cls
    Lcd "Menu"
    Cursor Off
    Do
    If Pind.4 = 0 Then
    Cls
    Locate 1 , 1
    Lcd "Podswietlanie"
    End If
    If Pind.5 = 0 Then
    Cls
    Locate 1 , 1
    Lcd "Kolory Rgb"
    End If
    If Pind.6 = 0 Then
    Cls
    Locate 1 , 1
    Lcd "Exit"
    End If
    Loop
    End

    --------------------
    Chcialbym jednak zrobic to w taki sposob aby obsluga menu dzialala na zasadzie dwoch przyciskow typu Gora - Dol I Enter ? czy ma ktos jakies pomysly ? .Z gory dziekuje zapomoc


    - Poprawiłem tytuł: https://www.elektroda.pl/rtvforum/topic1015361.html
    - Proszę umieszczać listingi programów w znacznikach "Code".
    - Istnieją funkcje "Zmień"/"Pisownia" i proszę z nich skorzystać i poprawić post.
    [c_p]
  • REKLAMA
  • REKLAMA
  • #3 5383264
    JmL(TM)
    Poziom 24  
    :arrow: wader_669: z postu wynika, ze sam miales z tym problem :D

    :arrow: sq3fyk: pamietaj, ze istnieje cos takiego jak drganie stykow ale to powinienes wywnioskowac przegladajac kod zrodlowy w poscie wader'a_669. A w sumie pewnie w dziale DIY znajdziesz wiele gotowcow...
  • REKLAMA
  • #4 5383587
    sq3fyk
    Poziom 11  
    No niestety niejestem az tak daleki wprogramowaniu uc pomaga mi w tym moj kolega wdniu dzisiejszymzrobilismy regulacje jasnosci podswietlania z wykorzystaniem pwm.No ale pozostal do zrobienia caly szkielet menu i jego obsluga.
  • REKLAMA
  • Pomocny post
    #5 5383748
    nsvinc
    Poziom 35  
    Wielopoziomowe menu to nie problem.
    1) Masz główną pętlę do-loop. W niej piszesz 'menu główne' - korzystając z if-ów i jakiegos licznika który będziesz mógł zwiększać lub zmiejszać za pomocą przycisków góra/dół
    2) Znając swój licznik, wiesz dokladnie która opcja menu jest wybrana, więc dopisujesz if-a - zeby skoczył do podprogramu który ma obsługiwać podmenu jak sie nacisnie 'ok'
    3) Podprogram piszesz w pętli do-loop until, przy czym warunek tej pętli obstawiasz dopóki nie nacisnieto 'ok'. I w tej pętli w podprogramie tworzysz sobie podmenu tą samą metodą opisaną w punkcie 1 i 2. Jesli chcesz poziom więcej, stosujesz punkty 1,2,3.

    W załączniku kod w którym zastosowałem menu dwupoziomowe, i dosyc rozbudowany system przechwytywania nacisnietego przycisku :] powodzenia w analizie
  • #6 5385428
    sq3fyk
    Poziom 11  
    Nsvinc Dziekuje za pomoc lecz ciezko jest mi cokolwiek wywnioskowac z tego kodu ktory zamiesciles :( jest to delikatnie mowiac za dlugie jak na moje mozliwosci przy tym poziomie wiedzy w bascomie niezmiernie ciezko jest wyciac powiedzmy odpowiedni fragment.Pozdrawiam
  • #7 5385819
    JmL(TM)
    Poziom 24  
    sq3fyk napisał:
    Nsvinc Dziekuje za pomoc lecz ciezko jest mi cokolwiek wywnioskowac z tego kodu ktory zamiesciles :( jest to delikatnie mowiac za dlugie jak na moje mozliwosci przy tym poziomie wiedzy w bascomie niezmiernie ciezko jest wyciac powiedzmy odpowiedni fragment.Pozdrawiam


    Lenistwo, lenistwo i jeszcze raz lenistwo!

    W ogole nie widac za grosz checi wkladu jakiejkolwiek pracy z Twojej strony! Zalozmy, ze nie znam bascom'a ale napisalem juz to co Ty tam wczesniej wkleiles wiec wiem juz jak sie deklaruje zmienne itp. przynajmniej jakies podstawy wiec na chlopski rozum:

    *patrze w kod i widze przykladowa linie kodu:
    If Menu < 13 Then Incr Menu


    zatem w tym fragmencie nsvinc robil cos z menu, skoro tak patrze dalej...

    *widze "Kbval" wobec tego sprawdzam deklaracje zmiennych i widze:
    Dim Kbval As Byte , Kbread As Byte , Mvol As Byte , Menu As Byte , Impval As Byte


    *teraz analizuje fragmenty operujace na tych zmiennych i wycinam fragmenty kodu. Jesli twoj kolega pomagal ci juz z PWM wiec moze teraz on juz cos wiecej poradzi, a jesli nie to dalej wycinam fragmenty kodu, kompiluje, wgrywam do uC i sprawdzam czy dziala. Jesli tak to jestem w domu i w koncu SAM COS ZROBILEM, jesli nie dziala to probuje dalej i jesli juz nic kompletnie mi nie wychodzi wklejam kod na elektrodzie i prosze o jakies wskazowki!

    Czy to takie trudne? Ale oczywiscie latwiej jest napisac, ze nie potrafie wiec zrobcie za mnie! Jesli faktycznie nie masz rozowego pojecia o Bascom'ie (a pewnie o innych jezykach tez znikome) to po co sie za to bierzesz?! Zacznij od podstaw i zrob migajace diody itp. Jak juz bedziesz mial jakas wiedze idz o krok dalej i dalej... a wtedy na pewno sobie poradzisz!
REKLAMA