eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaPIC vs AVRRe: PIC vs AVR
  • Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!news.cyf-kr.edu.pl!news.nask
    .pl!news.nask.org.pl!news.internetia.pl!not-for-mail
    From: Mario <m...@...pl>
    Newsgroups: pl.misc.elektronika
    Subject: Re: PIC vs AVR
    Date: Sun, 06 Apr 2014 19:38:15 +0200
    Organization: Netia S.A.
    Lines: 110
    Message-ID: <lhs4bu$she$1@mx1.internetia.pl>
    References: <533ddbbb$0$2158$65785112@news.neostrada.pl> <lhpavu$914$1@dont-email.me>
    <lhpeqj$ct4$1@speranza.aioe.org> <lhpgfo$kjn$1@dont-email.me>
    <lhpluc$v7a$1@speranza.aioe.org> <lhpr39$4rf$1@dont-email.me>
    <lhq0sf$7gn$1@speranza.aioe.org> <lhrhmg$tsf$1@mx1.internetia.pl>
    <lhrhub$kmg$1@speranza.aioe.org> <lhrm67$d0s$1@mx1.internetia.pl>
    <lhrugk$kpt$1@speranza.aioe.org>
    NNTP-Posting-Host: 159-205-85-152.adsl.inetia.pl
    Mime-Version: 1.0
    Content-Type: text/plain; charset=UTF-8; format=flowed
    Content-Transfer-Encoding: 8bit
    X-Trace: mx1.internetia.pl 1396806846 29230 159.205.85.152 (6 Apr 2014 17:54:06 GMT)
    X-Complaints-To: a...@i...pl
    NNTP-Posting-Date: Sun, 6 Apr 2014 17:54:06 +0000 (UTC)
    In-Reply-To: <lhrugk$kpt$1@speranza.aioe.org>
    X-Tech-Contact: u...@i...pl
    User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.5) Gecko/20031007
    X-Server-Info: http://www.internetia.pl/
    Xref: news-archive.icm.edu.pl pl.misc.elektronika:662459
    [ ukryj nagłówki ]

    W dniu 2014-04-06 18:14, AlexY pisze:
    > Użytkownik Mario napisał:
    >> W dniu 2014-04-06 14:39, AlexY pisze:
    > [..]
    >>> Nie, nie tylko, ASM, pascal, basic. Tych potrzebowałem to się nauczyłem,
    >>> zrobiłem podejście do C i C++ ale chyba już za stary jestem bo mi się
    >>> odechciało, może to kwestia braku odpowiedniej literatury napisanej w
    >>> sposób dla mnie zrozumiały.
    >>
    >> No to chyba młodszy jesteś ode mnie bo ja uczyłem się Algolu i Fortranu.
    >> DO nauki c wystarczył mi Kernighan Ritchie oraz kieszonkowy leksykon c z
    >> serii O'Reilly.
    >
    > Nie będę się licytował, angielski mam słaby, nie programuję zawodowo i
    > nawet bym nie chciał bo to wypala mózg :)

    Nic nie pisałem, że Kernighana czytałem w oryginale. Jest polski
    przekład. Jest sporo podręczników do c, tłumaczonych z angielskiego lub
    napisanych przez polskich autorów.


    > [..]
    >>> Nikt nigdy nie wmówi mi że asm jest łatwy,
    >>
    >> Nie piszę, że łatwy tylko, że większe ma się szanse na to, że program
    >> będzie wystarczająco mały i wystarczająco szybki aby zmieścić się w
    >> osmiobitowcu i maksymalnie wykorzystać jego słabą wydajność. Czyli
    >> ciężką pracą kodera, bohatersko zwalcza się problemy wynikające ze
    >> słabej architektury.
    >
    > Źle do tego podchodzisz, rozpoczynając projekt sprawdzasz który sprzęt
    > spełni wymagania i na nim dłubiesz, dłubanie na siłę w zbyt słabym
    > sprzęcie jest skazane na porażkę.

    Ja tak właśnie nie podchodzę. Ale wydaje mi się że ci co się trzymają
    asemblera niestety są przez to często zmuszeni do pracy z prockami w
    których ledwo się mieszczą.

    >>> jego podstawowa zaleta to
    >>> wiedza co w danym momencie się dzieje z każdym bitem, całkowita kontrola
    >>> sprzętu,
    >>
    >> Dopóki ten sprzęt jest wystarczająco prosty aby go ogarnąć.
    >
    > Ogarniasz go na bieżąco podczas pisania, do tej pory nie miałem z tym
    > problemu.

    Zazwyczaj operując w ramach jednej rodziny. Przejście na coś całkiem
    innego boli. Sam przechodziłem z 51 na AVR i szybko stwierdziłem, ze
    wgryzanie się w pisanie w asm wymaga ode mnie dużo wysiłku. Po jednym
    małym projekcie wolałem się nauczyć c i kilka projektów zrobiłem w
    AVR-gcc. Przejście z c na AVR do c na ARM było już znacznie łatwiejsze.
    Podejrzewam, że ci co upierają się przy asm, z oporami sięgają po
    bardziej złożone architektury twierdząc, że to co mają w zupełności im
    wystarcza.

    >>> zawsze, wszystkie procedury bez skrępowania mogę okroić z
    >>> funkcji których nie użyję, nie wiem czy tak samo można grzebać w
    >>> bibliotekach C. np obsługa LCD HD44780 wyciąć obsługę 8bitowej
    >>> transmisji i odczyt stanu wyświetlacza.
    >>
    >> Możesz to zrobić. Jeśli biblioteka ma dużo kodu, a wykorzystujesz tylko
    >> małą część to możesz wyciąć te funkcje, wkleić wprost do swojego kodu
    >> albo zapisać jako inną bibliotekę. Tu ograniczeniem może być licencja.
    >> Często się korzysta z dorobku innych zawartego w domenie publicznej.
    >> Dołączenie czyjegoś kodu np. na GPL wprost do twojego kodu powodowałoby
    >> wymóg opublikowania twojego kodu. Często jest jednak tak, że licencja
    >> zezwala na używanie zamkniętego kodu twojego własnego programu, a
    >> publikować trzeba jedynie zmiany w środowisku jak funkcje biblioteczne
    >> czy sterowniki. Wtedy lepiej zmianę jakiejś biblioteki zapisać jako nową
    >> bibliotekę i ewentualnie opublikować w razie potrzeby.
    >
    > Licencja... no właśnie...

    Twój wybór. Możesz korzystać z pracy społeczności na zdefiniowanych
    przez nią warunkach albo pisać wszystko sam. Naprawdę każdy musi sam
    wymyślać stos TCP, albo obsługę HD44780?


    >>> Nikogo nie zamierzam przekonać do swoich racji wiem że rynek wymusił
    >>> pisanie szybko bo na chlebek nie zarobisz, ale czy to jest rzeczywiście
    >>> dobre?
    >>
    >> Czy pisanie w c pod linuksa czy systemy BSD jest twoim zdaniem
    >> niewłaściwe, bo nie panuje się nad efektem kompilacji? Superkomputery,
    >> routery, duża część serwerów internetowych, systemy dowodzenia i
    >> prowadzenia ognia. Lepiej i bezpieczniej byłoby gdyby to wszystko pisać
    >> w asemblerze?
    >
    > Tu jest sedno sprawy, uC to ściśle określony sprzęt, system operacyjny
    > ma działać na całej rodzinie sprzętu, ponadto poziom komplikacji jednak
    > przewyższa atmelkowe miganie diodką, na uC program napiszesz, produkt
    > sprzedasz i możesz o nim zapomnieć,

    Tylko po co w takim razie argumentacja, że pisanie w c jest
    niebezpieczne z powodu błędów kompilatora czy ogólnie mówiąc szybkie
    tanie i kiepskie? Skoro kod skompilowany z c jest poprawny i stabilny w
    routerach czy w serwerach to czemu miałby być niepoprawny w przypadku
    atmelkowego migania LEDem?

    > systemy operacyjne co rusz się
    > aktualizuje, co w przypadku asm jest szczególnie ciężkie. To wymusza
    > użycie języka wysokiego poziomu, moje "ale" jest co do jego wyboru.

    Jakoś nie robią tego na Basicu. Widocznie c jest do tego lepszy.


    --
    pozdrawiam
    MD

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: