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

Atmega8 - Optymalizacja kodu kostki do gry w BASCOM

dj-krzysiek 18 Sty 2015 13:55 1191 8
REKLAMA
  • #1 14343174
    dj-krzysiek
    Poziom 12  
    Posty: 27
    Pomógł: 1
    Ocena: 3
    Witam

    Ostatnio wykonałem mały projekt kostki do gry.
    Z uwagi, że mam bardzo małe doświadczenie z uC, proszę o uwagi dotyczące programu itp..

    Kod: text
    Zaloguj się, aby zobaczyć kod

    W załączniku schemat i pcb

    Atmega8 - Optymalizacja kodu kostki do gry w BASCOM Atmega8 - Optymalizacja kodu kostki do gry w BASCOM
  • REKLAMA
  • #2 14343264
    piotr411
    Poziom 22  
    Posty: 483
    Pomógł: 43
    Ocena: 45
    Ale namieszałeś :)

    Wciskasz przycisk Start (jakiś PIN dowolny)
    Każdy PIN z LED zastosuj z generatorem liczb losowych, czyli polecenie RND, opis znajdziesz w Help Bascoma.
  • #3 14343343
    Kuniarz
    Moderator Projektowanie
    Posty: 4520
    Pomógł: 371
    Ocena: 825
    piotr411 napisał:
    Każdy PIN z LED zastosuj z generatorem liczb losowych


    ... a co będzie, jak wyskoczy "trzy" ale nie w szeregu, tylko tak jak "^" ?

    Kolego dj-krzysiek, poczytaj o aliasach, bo masz strasznie nieczytelny ten program.
    Pomogłem? Kup mi kawę.
  • REKLAMA
  • #4 14343374
    Konto nie istnieje
    Konto nie istnieje  
  • REKLAMA
  • #5 14343507
    piotr411
    Poziom 22  
    Posty: 483
    Pomógł: 43
    Ocena: 45
    Kuniarz napisał:
    piotr411 napisał:
    Każdy PIN z LED zastosuj z generatorem liczb losowych


    ... a co będzie, jak wyskoczy "trzy" ale nie w szeregu, tylko tak jak "^" ?


    Poczytaj w Helpie Bascoma o warunkach IF
  • REKLAMA
  • #6 14343543
    Konto nie istnieje
    Konto nie istnieje  
  • #7 14344233
    dj-krzysiek
    Poziom 12  
    Posty: 27
    Pomógł: 1
    Ocena: 3
    Z tego co zauważyłem w symulatorze to czasami wypada 7 czyli 0. Wtedy po naciśnięciu przycisku nie wyświetla się nic.

    If X = 7 Then
    X = 0
    End If

    Jeżeli zmienię 7 na 6 to nigdy nie wyskoczy 6-stka ...

    A co do bałaganu to już pisałem "zaczynam" przygodę z programowaniem :)


    Pozdrawiam i dziękuję za uwagi...
  • Pomocny post
    #8 14344263
    sp3ots
    Poziom 38  
    Posty: 3069
    Pomógł: 523
    Ocena: 673
    dj-krzysiek napisał:
    Z tego co zauważyłem w symulatorze to czasami wypada 7 czyli 0. Wtedy po naciśnięciu przycisku nie wyświetla się nic.

    If X = 7 Then
    X = 0
    End If

    Jeżeli zmienię 7 na 6 to nigdy nie wyskoczy 6-stka ...

    A co do bałaganu to już pisałem "zaczynam" przygodę z programowaniem :)


    Pozdrawiam i dziękuję za uwagi...

    Witam !
    Napisz tak:
    If X >6 Then
    X = 1
    End If
  • #9 14352147
    dj-krzysiek
    Poziom 12  
    Posty: 27
    Pomógł: 1
    Ocena: 3
    "6 " Działa Dzięki za uwagi...

    Kod: text
    Zaloguj się, aby zobaczyć kod


    Pozdrawiam

    Moderowany przez tmf:

    Temat odblokowałem na prośbę autora.

Podsumowanie tematu

✨ Użytkownik stworzył projekt kostki do gry na mikrokontrolerze Atmega8, korzystając z języka BASCOM. Prosił o uwagi dotyczące optymalizacji kodu. W odpowiedziach zasugerowano użycie generatora liczb losowych (RND) oraz poprawę czytelności kodu poprzez zastosowanie aliasów. Wskazano również na problem z wyświetlaniem wartości 7, co prowadziło do braku reakcji na przycisk. Użytkownik otrzymał porady dotyczące poprawy logiki losowania oraz debouncingu przycisku. Ostatecznie, wprowadzono zmiany, które poprawiły działanie programu.
Podsumowanie wygenerowane przez AI na podstawie treści dyskusji.
REKLAMA