Kozy Napisano Maj 9, 2012 Udostępnij Napisano Maj 9, 2012 Witam,przymierzam się do nauki programowania uC, ale niestety jeszcze słabo poruszam się w tym temacie i mam parę pytań. Wiem, że są różne typy uC (AVR, ARM...) pytanie który wybrać? Wiem, że ARM to wyższa półka jazdy, ale można chyba więcej zrobić. Wiem, że jest jeszcze coś takiego jak Adruino. Pewnie jeszcze wiele więcej się znajdzie 🙂 Widziałem, że przy ARM są kolorowe, dotykowe wyświetlacze czy z AVR też można zrobić takie połączenie? Mam jeszcze jedno pytanie odnoście np. AVR8 czy AVR32. Czym to się różni i co oznaczają te liczby? Może jakiś link do artykułu gdzie są porównywane te technologie, ewentualnie proponuje zrobić plusy i minusy każdej z nich. Link do komentarza Share on other sites More sharing options...
GAndaLF Maj 9, 2012 Udostępnij Maj 9, 2012 W AVR8 i AVR32 liczby odnoszą się do architektury 8-bitowej lub 32-bitowej. Jako początkujący powinieneś zacząć od ośmiobitowców czyli AVR, PIC, 8051 itp Ich podstawowe zalety to prostota oraz duża dostępność materiałów szkoleniowych i gotowych projektów. Poza tym łatwo o sprzęt do nich taki jak programatory, debugery czy płytki testowe, a same scalaki są dostępne w obudowach przewlekanych przez co łatwiej je lutować albo używać z płytką stykową. Wśród armów jest ogromne zróżnicowanie. Najtańsze kosztują mniej niż AVRy 8bitowe ale i tak są od nich lepsze, a są też takie dorównujące parametrami procesorom z PCtów i montuje się je na przykład w smartfonach. Licencje na rdzenie ARM ma wielu producentów i na przykład AVR32 czy PIC32 opierają się właśnie na armach. Generalnie powinieneś zacząć od 8bitowców i przy okazji programowania nauczyć się też obsługi oprogramowania, tworzenia schematów układów, korzystania z datasheeta itp. Dopiero jak to opanujesz możesz pomyśleć nad przesiadką na 32-bitowce. A co do wyświetlaczy to spokojnie powinieneś dać radę je obsłużyć również na atmegach. Link do komentarza Share on other sites More sharing options...
Kozy Maj 9, 2012 Autor tematu Udostępnij Maj 9, 2012 Tak skacząc po innych forach to w sumie zastosowanie odpowiedniego uC zależy od naszych potrzeb. Teraz pytanie czy dojdę do jakiegoś pomysłu/ projektu gdzie np. będę potrzebował więcej niż atmega32. Jak mniej więcej wyczuć tą granicę? Pytanie jeszcze jak bardzo się różni program np. pomiędzy AVR czy ARM? Podejrzewam, że jak pisałem w assemblerze to wszystko zależało od procesora więc pewnie tu będzie zależało od konkretnego uC. Jeszcze do tego porównania włączyłbym STM oraz jak ktoś może mi wytłumaczyć dlaczego niektórzy wyśmiewają Arduino? Kurczę trochę dużo tego jest. Pytanie co wybrać? Link do komentarza Share on other sites More sharing options...
kling Maj 9, 2012 Udostępnij Maj 9, 2012 Zacznę od końca;) 4. Na Arduino nie piszesz w 'czystym' C, więc nie jest najlepsze do nauki. Dodatkowo stosunek ceny do możliwości arduino nie jest lekko mówiąc korzystny. 3. STM32 to kolejna rodzina ARMów. Ostatnio coraz bardziej popularna, pewnie przez wypuszczenie tanich zestawów startowych (DiscoveryBoard) i bibliotek umożliwiających szyvki start. 2. Dobrze napisany program w C jest przenośny. Zmienia się tylko warstwa sprzętowa. Nawet skacząc między AVR czasami zachodzi konieczność drobnych zmian w warstwie sprzętowej. 1. Uważam, że kiedy osiągniesz takie umiejętność, żeby napisać program wykraczający poza MEGE32, to będziesz już potrafił określić tą granicę. Dla amatora ważne są trzy rzeczy: odpowiednie peryferia, ilość pamięci, łatwość montażu. Mam nadzieję, że trochę rozwiałem Twoje wątpliwości;) Link do komentarza Share on other sites More sharing options...
Polecacz 101 Zarejestruj się lub zaloguj, aby ukryć tę reklamę. Zarejestruj się lub zaloguj, aby ukryć tę reklamę. Produkcja i montaż PCB - wybierz sprawdzone PCBWay! • Darmowe płytki dla studentów i projektów non-profit • Tylko 5$ za 10 prototypów PCB w 24 godziny • Usługa projektowania PCB na zlecenie • Montaż PCB od 30$ + bezpłatna dostawa i szablony • Darmowe narzędzie do podglądu plików Gerber Zobacz również » Film z fabryki PCBWay
MirekCz Maj 9, 2012 Udostępnij Maj 9, 2012 Tak naprawdę nie ma to większego znaczenia. Na tą chwilę sam nie wiesz czego potrzebujesz, więc każdy procesor będzie dobry. ATMEGA - szczególnie ATMEGA8 i 32 - są preferowane dla amatorów z polski, ponieważ jest naprawdę dużo dokumentacji, przykładów, opisów i osób znających te mikrokontrolery - a to wszystko w języku polskim. Co do tego ile można wyciągnąć z takiego procesora to zależy to głównie od 2 czynników: 1. Sprzętowe peryferia - te w ATMEGAch są całkiem niezłe, szczególnie w tych nowszych jak np. atmega88pa. Chociaż wiele armów ma dużo bogatsze peryferia. Po co one są? Pozwalają Tobie sprzętowo wykonywać wiele rzeczy - np. komunikację po SPI/I2C/UART, generowanie sygnałów PWM czy konwersję sygnału analogowego na cyfrowy. Dzięki nim program może zajmować się rzeczywistą kontrolę czegoś, a nie detalami typu generowanie PWM. 2. Niezbędna jest natomiast wiedza programisty o całości. Czasami początkujący programista może zająć 10KB kodu i 100% czasu procesora na coś, co wprawnemu programiście zajmie 0.5kB kodu i 5% procesora. Dlatego zaczynanie z pewnymi ograniczonymi zasobami ma ten plus, że przy okazji można sporo nauczyć się o tym jak dobrze wykorzystać mikrokontroler zamiast po prostu kupować lepszy gdy program zaczyna zwalanić. Reasumując - atmega i/lub arduino (które zresztą też jest na atmega) to dobry i pewny start. Jak opanujesz jeden mikrokontroler to dosyć łatwo przejdziesz na inny w przyszłości, ale wtedy będziesz wiedział co potrzebujesz i dobierzesz sobie coś "na miarę". 1 Link do komentarza Share on other sites More sharing options...
kling Maj 9, 2012 Udostępnij Maj 9, 2012 Uważam, że jeżeli kolega chce 'zabawić' się w tym temacie na dłużej i przejść potem na ARMY, to wybór ARDUINO to zła decyzja. Nie nauczy się dobrze C korzystając z ich bibliotek. Link do komentarza Share on other sites More sharing options...
BlackJack Maj 9, 2012 Udostępnij Maj 9, 2012 Dla początkującego zdecydowanie AVRy. Co do ARDUINO, to zależy jak się na to patrzy. Jako platforma sprzętowa spoko. Jeżeli o jej programowanie, to nie ma problemu programować, w języku innym niż dedykowany, można spokojnie użyć GCC, czy nawet BASCOM. To tylko kwestia załadowania programu do CPU. Link do komentarza Share on other sites More sharing options...
kling Maj 9, 2012 Udostępnij Maj 9, 2012 @up Tylko czy jest wtedy sens płacić dosyć spore sumy za kolejne shieldy? Myślę, że lepszą wersją jest jakiś zestaw startowy, o wyborze którego na forum już nie raz były dyskusje;) Link do komentarza Share on other sites More sharing options...
koval_blazej Maj 9, 2012 Udostępnij Maj 9, 2012 Licencje na rdzenie ARM ma wielu producentów i na przykład AVR32 czy PIC32 opierają się właśnie na armach. ARMy od Atmela to ARMy od Atmela, a 32bitowe AVRy to 32bitowe AVRy 😉 Link do komentarza Share on other sites More sharing options...
BlackJack Maj 10, 2012 Udostępnij Maj 10, 2012 A PIC32 w ogóle nie jest oparty o architektorę ARM, bo jest na rdzeniu MIPS Tech. Link do komentarza Share on other sites More sharing options...
dondu Maj 10, 2012 Udostępnij Maj 10, 2012 Witam,przymierzam się do nauki programowania uC, ale niestety jeszcze słabo poruszam się w tym temacie i mam parę pytań. Wiem, że są różne typy uC (AVR, ARM...) pytanie który wybrać? Wiem, że ARM to wyższa półka jazdy, ale można chyba więcej zrobić. Wiem, że jest jeszcze coś takiego jak Adruino. Pewnie jeszcze wiele więcej się znajdzie 🙂 Nie na darmo w przedszkolu najpierw klocki drewniane dają 🙂 Zacznij od AVR tak: Mikrokontrolery - Jak zacząć? a po jakimś czasie zdecydujesz, czy przesiąść się na inne, ponieważ tylko Ty wiesz jakie będziesz miał potrzeby vs wielkość portfela. Link do komentarza Share on other sites More sharing options...
franc Maj 16, 2012 Udostępnij Maj 16, 2012 @upTylko czy jest wtedy sens płacić dosyć spore sumy za kolejne shieldy? Myślę, że lepszą wersją jest jakiś zestaw startowy, o wyborze którego na forum już nie raz były dyskusje;) Zgodzę się z tym. Sam używam Arduino i kupno dodatkowych shildów jest kosztowne, zwłaszcza jeśli swój projekt chce się rozbudowywać nie poprzestając na jednym. Link do komentarza Share on other sites More sharing options...
czerstwy Maj 16, 2012 Udostępnij Maj 16, 2012 Ja dopiero zaczynam, wybrałem AVRy i język C. To dlatego że gdzie nie spojrzysz, jako mikrokontroler wykorzystany jest przeważnie AVR któryś. Proste programy można wcisnąć nawet w Attiny13, który ma jak pamiętam 1 kb pamięci, mój pierwszy projekt na nim robię, zająłem 1/4 pamięci, gdzie mam zawarte proste sterowanie portami i klawiaturę (i jeszcze jeden nie wykorzystany klawisz:P). Nie wiem jak z dużymi programami, ale jak do nich dojdziesz, to pewnie będziesz na takim etapie że oszacujesz ile pamięci Ci zajmie i jakich peryferiów potrzebujesz. Zaś jeśli, a na pewno staniesz przed problemem, masz dylemat co do języka, bierz C. Nie jest trudny, za to naprawdę uniwersalny, szczerze mówiąc nie wiem czym tego nie zaprogramujesz, czy jakiego sprzętu nie obsłużysz:P W skrócie, polecam AVR i C, a jeśli potrzebujesz książki, to polecę Ci publikacje Kardasia, dłużej czekałem na książkę (a brałem kuriera), niż z jej pomocą ogarnąłem podstawy języka i sposoby wykorzystania wszelakich funkcji procesora. Nie taki diabeł straszny jakim go malują, czy jakoś tak;P Link do komentarza Share on other sites More sharing options...
Kozy Styczeń 18, 2013 Autor tematu Udostępnij Styczeń 18, 2013 Wracam do tematu bo już sobie poszukałem, poczytałem, popatrzyłem i doszedłem do tego, że albo STM32 albo arduino. Można powiedzieć że wzięte jest to z 2 końców kija, ale czemu tak. Arduino dlatego że jest proste, ma dużo materiałów i można się skupić na innych rzeczach, fakt jest taki że trochę to drogie. STM32 bo to już ARM i technologia wyżej (takie jest moje odczucie), trochę ciężej na starcie ale większa satysfakcja z zrobienia czegoś, trochę trzeba poświęcić czasu na naukę i mam wrażenie że jest mało materiałów do nauki, ale technologia staje się popularniejsza i jest co raz więcej tego. Teraz pytanie co bardziej się opłaca wybrać? Jakie są różnice pomiędzy Arduino i stm32? Czy jest coś co zrobię na stm32, a nie zrobię na arduino? Z stm32 będzie problem w osadzeniu tego na jakimś gotowy układzie tj. problem z lutowaniem tego. Jeszcze cena, czy przykładowo koniecznie muszę kupować moduł arduino do arduino czy mogę sobie kupić coś tańszego i podłączyć? Gdzieś chyba jeszcze kiedyś przewinęło mi się że istnieje arduino na stm32. __________ Komentarz dodany przez: Bobby _allegro Link do komentarza Share on other sites More sharing options...
Mars Styczeń 18, 2013 Udostępnij Styczeń 18, 2013 No ale STM też ma np. coś takiego jak Discovery. Nie wiem jak wypada w porównaniu z Arduino, no ale zasada raczej podobna. Link do komentarza Share on other sites More sharing options...
Pomocna odpowiedź
Bądź aktywny - zaloguj się lub utwórz konto!
Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony
Utwórz konto w ~20 sekund!
Zarejestruj nowe konto, to proste!
Zarejestruj się »Zaloguj się
Posiadasz własne konto? Użyj go!
Zaloguj się »