-
Data: 2014-04-06 19:38:15
Temat: Re: PIC vs AVR
Od: Mario <m...@...pl> szukaj wiadomości tego autora
[ pokaż wszystkie 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
Następne wpisy z tego wątku
- 06.04.14 19:42 Mario
- 06.04.14 19:44 jacek pozniak
- 06.04.14 19:46 AlexY
- 06.04.14 19:51 Sylwester Łazar
- 06.04.14 19:53 Mario
- 06.04.14 20:03 Sylwester Łazar
- 06.04.14 20:12 Mario
- 06.04.14 20:17 Mario
- 06.04.14 20:17 AlexY
- 06.04.14 20:27 Sylwester Łazar
- 06.04.14 20:34 Sylwester Łazar
- 06.04.14 20:34 Michał Lankosz
- 06.04.14 20:39 AlexY
- 06.04.14 20:43 Marek
- 06.04.14 20:47 Mario
Najnowsze wątki z tej grupy
- Akumulatorki Ni-MH AA i AAA Green Cell
- Dławik CM
- JDG i utylizacja sprzetu
- Identyfikacja układ SO8 w sterowniku migających światełek choinkowych
- DS1813-10 się psuje
- Taki tam szkolny problem...
- LIR2032 a ML2032
- SmartWatch Multimetr bezprzewodowy
- olej psuje?
- Internet w lesie - Starlink
- Opis produktu z Aliexpress
- No proszę, a śmialiście się z hindusów.
- Zewnętrzne napięcie referencyjne LM385 1,2V -> 100mV dla ICL7106, Metex M-3800
- karta parkingowa
- Wl/Wyl (On/Off) bialy/niebieski
Najnowsze wątki
- 2024-12-03 Praktyczny test GPS...
- 2024-12-02 Tak się sprzedają elektryczne woldzwageny ;-)
- 2024-12-02 Akumulator do Hyundai
- 2024-12-02 Olsztyn => Sales Specialist <=
- 2024-12-02 Poznań => Technical Artist <=
- 2024-12-02 Bieruń => Regionalny Kierownik Sprzedaży (OZE) <=
- 2024-12-02 Kraków => Business Development Manager - Dział Sieci i Bezpieczeńst
- 2024-12-02 Chrzanów => Team Lead / Tribe Lead FrontEnd <=
- 2024-12-02 Białystok => Delphi Programmer <=
- 2024-12-02 Poznań => Dyspozytor Międzynarodowy <=
- 2024-12-02 Szczecin => Key Account Manager (ERP) <=
- 2024-12-02 Poznań => Senior PHP Developer <=
- 2024-12-03 Usiłuję zapłacić za energetyzację...
- 2024-12-02 Gdańsk => Full Stack web developer (obszar .Net Core, Angular6+) <=
- 2024-12-02 Kraków => Full Stack .Net Engineer <=