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 - Skakanie po programie - brak wiedzy

Defender1 07 Lis 2012 20:50 1044 5
  • #1 07 Lis 2012 20:50
    Defender1
    Poziom 16  

    Witam.

    Posiadam prosty układ testowy na atmega 8, mam w PC program bascom-avr do pisania programów.
    Z tym nie ma problemów jest ok.
    Lecz kiedyś miałem atari 800XE i tam był BASIC a tu w naszym programie AVR bascom też miał być i jest ale wiele , wiele bardziej skomplikowany i mniej wydajny od "atari basic" to co robiłem na atari zajmowało 3 razy mniej procedur niż w tym AVR.., obecnie mam problem taki że nie wiem jak skoczyć do poprzedniego programu pracującego w pętli do-loop (sprawdzanie napięcie poprzez ADC , gdy miejsce z którego chcę skoczyć czyli oczekiwanie na naduszenie przycisku też pracuje w pętli..
    Na atari było to proste bo były linie ponumerowane, a tu jest bałagan.

    Arkadiusz.

    0 5
  • Pomocny post
    #2 07 Lis 2012 20:59
    xury
    Poziom 39  

    Uwierz mi najlepiej zapomnij o skokach i w ogóle o BASIC z Atari.
    Na mikrokontrolerach raczej unika się procedur "skaczących", a bardziej korzysta się z tzw. flag. Skokami można sobie bardzo wiele bałaganu narobić. Inaczej niż na Atari trzeba konstruować program. Nie jako procedury wykonywane linijka po linijce, lecz trzeba sobie wyobrazić, że taki program jest "omiatany" tysiące razy na sekundę i podczas takiej pętli po prostu sprawdzać stan flag, a flagi to nic innego jak zmienne bitowe.

    0
  • #3 07 Lis 2012 21:13
    Defender1
    Poziom 16  

    Witam.

    To już w ogóle mi wszystko w głowie zrujnowało, chyba niż z tego nie będzie. Nie potrafię zrozumieć tej zasady programowania , a miał być basic...

    0
  • #4 07 Lis 2012 21:45
    Defender1
    Poziom 16  

    Witam.

    Dziękuje za wsparcie ale to na razie za trudne, dopiero poznaje ten świat , nigdy przedtem nie miałem w ręku mikro-kontrolera, połowę życia w antenach i akumulatorach, mózg słabo się uczy nowych rzeczy matematyczno-logicznych zupełnie innych niż te wykonywane 20 lat.

    ps. muszę nabyć jakaś książkę o bascom dla zupełnie zielonych , najzieleniejszych z zielonych.

    pozdrawiam
    Arkadiusz.

    0
  • #5 08 Lis 2012 03:06
    xury
    Poziom 39  

    Głównie miałem na myśli instrukcję Goto, no ale kolega nowynom podał własnie nie za najlepszy przykład bowiem w nim jest już blisko do zrobienia sobie kuku. Ten przykład jeszcze przejdzie, bo program skończy się i zatrzyma, ale co by było gdyby zamiast End był np skok do pierwszej subrutyny ?
    Nie przeczę, że nie można używać podprogramów - sam je często używam, ale trzeba zawsze mieć na uwadze poprawne wyjście z takiego podprogramu, zwłaszcza kiedy jest ich kilka zagnieżdżonych, bo wystarczy chwila nieuwagi i za chwilę skończy się stos. I dla nowo uczących się programowania nie tylko w Bascomie ważne jest by wpoić odpowiednie nawyki programowania, by się wystrzegać procedur nawarstwiających stos. W dodatku skacząc z podprogramu do podprogramu program staje się mało przejrzysty.
    BTW. a czemu służy zmienna Prawda w tym przykładzie ?

    Co do książek, to była taka Marcina Wiązani całkiem dobra na początek chociaż zawiera trochę błędów i nie wyjaśnia jak poprawnie konstruować podprogramy.

    0
  • #6 09 Lis 2012 15:36
    30402
    Użytkownik usunął konto