eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaPICowanie › Re: PICowanie
  • Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.
    atman.pl!.POSTED!not-for-mail
    From: Sebastian Biały <h...@p...onet.pl>
    Newsgroups: pl.misc.elektronika
    Subject: Re: PICowanie
    Date: Thu, 10 Oct 2013 18:43:17 +0200
    Organization: ATMAN - ATM S.A.
    Lines: 49
    Message-ID: <l36lfa$fbj$1@node2.news.atman.pl>
    References: <e...@g...com>
    <5254fb82$0$21838$65785112@news.neostrada.pl>
    <f...@g...com>
    <l34br2$8d0$1@node1.news.atman.pl>
    <a...@n...neostrada.pl>
    <l35dk5$950$1@node1.news.atman.pl> <l35rdb$bid$1@mx1.internetia.pl>
    <l36gv3$epe$1@node1.news.atman.pl>
    <5256d47c$0$32693$65785112@news.neostrada.pl>
    NNTP-Posting-Host: 193.0.194.227
    Mime-Version: 1.0
    Content-Type: text/plain; charset=UTF-8; format=flowed
    Content-Transfer-Encoding: 8bit
    X-Trace: node2.news.atman.pl 1381423402 15731 193.0.194.227 (10 Oct 2013 16:43:22
    GMT)
    X-Complaints-To: u...@a...pl
    NNTP-Posting-Date: Thu, 10 Oct 2013 16:43:22 +0000 (UTC)
    User-Agent: Mozilla/5.0 (Windows NT 6.0; rv:17.0) Gecko/20130801 Thunderbird/17.0.8
    In-Reply-To: <5256d47c$0$32693$65785112@news.neostrada.pl>
    Xref: news-archive.icm.edu.pl pl.misc.elektronika:653036
    [ ukryj nagłówki ]

    On 2013-10-10 18:23, JDX wrote:
    >> Na Microchipa nie. Na *dowolny* podam do znudzenia ten sam co zawsze:
    > Dowolny? To cli() i sei() to są standardowe funkcje C++ (i C)? :-D

    Odróżniasz idiom RAII od kodu natywnego, prawda?

    > tak
    > zaimplementowanej sekcji krytycznej IMO *nie jest* lepsze.

    Zdefiniuj najlepsze.

    > IMO lepsza
    > jest "ręczna" kontrola nad CS ponieważ tak w ogólności to chcemy jak
    > najszybciej odblokować przerwania

    To nie jest prawda. Czasem chcemy mieć pewność że UART_D zostanie
    odczytany jeszcze w sekcji krytycznej. Efektem czego jest workaround z
    temp w C. Nie ma rozwiązań załatwiających wszystkie przypadki. To jest
    rozwiązujące pewna sporą grupę czestych sytuacji w przerwaniach.

    > a nie czekać do momentu wyjścia z
    > funkcji gdy zawołany zostanie destruktor.

    Destruktor nie "czeka" tylko wołany jest natychmiast po return.
    Dokładnie tak jak chcę.

    > No i IMO tak zaimplementowana
    > CS może prowadzić do jeszcze większych i trudniejszych do wykrycia
    > ooops-ów jeśli ktoś będzie tworzycł CS na początku jakiejś dużej funkcji.

    Taki idiom daje znacznie wieksze gwarancje w dobrze zrobionym kodzie. W
    kodzie napisanym byle jak czyli z wielkimi funkcjami - nic nie daje
    gwarancji poza modlitwą. Subiektywnie patrząc: RAII genaruje mniej
    błedów niż jego ręczna emulacja i miałem w życiu na to milion przykładów.

    > A tak poza tym to niezbyt rozumiem zwracanie jakiejś wartości z funkcji
    > typu void.

    Pomyłka.

    > No i przydało by sie też jakieś info na temat tego co to jest
    > UART_D - domyślam się, że jest to jakiś rejestr zmieniany
    > (asynchronicznie) przez moduł UART-ów.

    To jest coś chronione przez sekcję krytyczna. Nie ma znaczenia co to
    jest. Probolemem wielu programistów embedded jest wlasnie to że *musza*
    wiedzieć co to jest, choć wiedza taka zazwyczaj kończy się pisaniem
    nieprzenośnego kodu.

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: