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

Atmega8 Bascom - Program nie działa prawidłowo , co w nim nie tak ?

kudlatyx2 29 Lis 2013 18:58 1266 2
  • #1 29 Lis 2013 18:58
    kudlatyx2
    Poziom 7  

    Witam
    Zbudowałem klawiaturę matrycową 4x3 oraz podłączyłem ją do mikroprocesora Atmega8. Napisałem program ( jestem początkujący w programowaniu , wszystkich komend nie znam) w Bascom'ie który ma odczytywać który switch w klawiaturze jest wciśnięty i przypisywać do niego pewną wartość. W zależności od tej wartości dioda podłączona do uC ma mignąć tyle razy , ile wynosi ta wartość.

    Więc program wygląda tak

    Kod: text
    Zaloguj się, aby zobaczyć kod



    Atmega8 Bascom - Program nie działa prawidłowo , co w nim nie tak ?


    Program jednak nie działa tak jak powinien - po wciśnięciu dowolnego switcha oprócz switchów z rzędu PD.3 ( w ogólne uC nie reaguje) uC zapala diodę raz i ją gasi nic więcej nie robiąc . Mógłby mi ktoś powiedzieć czy program jest napisany prawidłowo a jak nie to co w nim jest nie tak ?

    0 2
  • Pomocny post
    #2 29 Lis 2013 21:54
    slawko_k
    Poziom 33  

    Jeżeli skaczesz do podprogramu Dalej to mozę potem z niego powróć a nie skacz z niego ponownie do Klaw z którego to Dalej został wyzwolony.

    Dodatkowo możesz zwiększyć stos bo często przez niego program sypie się na podprogramach.

    Sugeruję również w danej chwili ustawienie tylko jednej nóżki jako wyjście gdyż jak u ciebie gdy 3 są wyjściami i na nich różne stany to naciśnięcie kilku przycisków na raz na klawiaturze spowodować może uwalenie procka.

    W bascomie jest gotowa instrukcja do obsługi klawiatury matrycowej var = GETKBD()

    Na Twoim etapie programowania proponuje jej użyć niż pisać samodzielnie.

    0
  • #3 08 Cze 2014 21:26
    kudlatyx2
    Poziom 7  

    Problem rozwiązany , użyłem standardowej komendy dla klawiatury matrycowej w Bascom

    0