eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaDlaczego ATmega128 przekłamuje?Re: Dlaczego ATmega128 przekłamuje?
  • Path: news-archive.icm.edu.pl!news.gazeta.pl!newsfeed.pionier.net.pl!news.task.gda.pl
    !not-for-mail
    From: "Darkac" <d...@w...pl>
    Newsgroups: pl.misc.elektronika
    Subject: Re: Dlaczego ATmega128 przekłamuje?
    Date: Wed, 14 Oct 2009 15:52:26 +0200
    Organization: CI TASK http://www.task.gda.pl/
    Lines: 33
    Message-ID: <hb4l3t$u5m$2@news.task.gda.pl>
    References: <hb1sbu$qoq$1@news.lublin.pl> <hb4j99$hoj$1@inews.gazeta.pl>
    NNTP-Posting-Host: hr178.internetdsl.tpnet.pl
    Mime-Version: 1.0
    Content-Type: text/plain; format=flowed; charset="iso-8859-2"; reply-type=response
    Content-Transfer-Encoding: 8bit
    X-Trace: news.task.gda.pl 1255528381 30902 80.53.95.178 (14 Oct 2009 13:53:01 GMT)
    X-Complaints-To: a...@n...task.gda.pl
    NNTP-Posting-Date: Wed, 14 Oct 2009 13:53:01 +0000 (UTC)
    X-Priority: 3
    X-MSMail-Priority: Normal
    X-Newsreader: Microsoft Outlook Express 6.00.2900.5843
    X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.5579
    Xref: news-archive.icm.edu.pl pl.misc.elektronika:573342
    [ ukryj nagłówki ]


    Użytkownik "Konop" <k...@g...pl> napisał w wiadomości
    news:hb4j99$hoj$1@inews.gazeta.pl...
    > Darkac pisze:
    >> Piszę program na ATmega128 za pomocą edytora AVRSide i kompilatora
    >> WinAVR.
    >> Program jest juz trochę rozbudowany i zawiły. Jest obsługa przerwań
    >> czasowych co mniej więcej 1ms i używane jest sporo zmiennych globalnych.
    >> Program obrabia równolegle dwa sygnały A i B z przetwornika A/C.
    >> Jeśli sygnał A lub B spełni pewien warunek badany w przerwaniu, w pętli
    >> głównej wchodzi w odpowiadającą swojemu kanałowi jedną z dwóch
    >> bliźniaczych procedur (dość zawiłych).
    >> Jedna ze zmiennych ustawiana jest w menu (wyświetlacz LCD i klawiatura
    >> multipleksowana) i przyjmuje wartości 1 lub 0.
    >
    > Bliźniacze procedury - tzn. ta sama procedura wywoływana z różnymi
    > parametrami, czy jednak dwie różne funkcje? Może nie są do końca
    > bliźniacze?? :)...
    >

    Na tyle są bliźniacze, że mają treść w zasadzie taką samą, ale wszelkie
    dane, parametry, flagi stanów i tabele na których operują pamiętane są w
    innym zestawie (A lub B). Jakby się uprzeć, to może dałoby się napisać jedną
    procedurę, która co chwila musiałaby się pytać, który kanał jest w tym
    momencie obrabiany albo jako parametry trzeba by przesłać kilkadziesiąt
    zmiennych. A większość tych parametrów i tak jest globalnych i znów przy
    wyjściu trzeba by je odzyskiwać z procedury.
    Historycznie tak było łatwiej i szybciej i bezpieczniej. Najpierw był w
    programie tylko jeden kanał i kiedy powstała potrzeba dwóch, łatwo było
    powielić procedurę na dwie i dodać do każdej nie wspólnej w niej zmiennej,
    końcówkę _a w jednej i _b w drugiej. Pamięci programu jest jeszcze bardzo
    dużo.

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: