Czy lepiej jest przejść do studia AVR (lub innej lepszej alternatywy?) Za pomocą Arduino IDE. Czujesz, że to takie proste i dziecinne. Muszę poznać pomysł i wybór ekspertów.
Czy lepiej jest przejść do studia AVR (lub innej lepszej alternatywy?) Za pomocą Arduino IDE. Czujesz, że to takie proste i dziecinne. Muszę poznać pomysł i wybór ekspertów.
Odpowiedzi:
Ogromną zaletą korzystania np. Z AVR Studio jest możliwość korzystania ze wszystkich bibliotek stworzonych dla ATmega168 / 328 przed powstaniem Arduino. Biblioteki FFT, biblioteki do korzystania z niektórych zakupionych przez Ciebie niejasnych układów scalonych, podstawowe filtry cyfrowe i wiele innych można znaleźć na AVRfreaks i setkach innych stron z hobby.
Możesz także napisać bardziej wydajny kod, jeśli nauczysz się korzystać ze standardowych bibliotek AVR i zapoznasz się z arkuszem danych mikrokontrolera (lub samouczkami). W przypadku prostych aplikacji kod arduino jest łatwy do napisania i debugowania. Czasami jednak chcesz lepiej kontrolować czas. AnalogRead()
potrzebuje 100µs do wykonania. Odpowiada to 10 ksps (tysiące próbek na sekundę). Możesz łatwo pompować to do 70ksps, jeśli uzyskasz dostęp do kodu niskiego poziomu dla ATmega168 / 328. Możesz to wszystko zrobić w Arduino IDE, oczywiście, ale w pewnym momencie twoje projekty mogą stać się zbyt złożone i będziesz chciał pisać własne biblioteki z szybszymi funkcjami. AVR Studio może być bardziej odpowiedni do tego.
Ponadto, jeśli kiedykolwiek chcesz zaprogramować dowolny układ AVR inny niż oferowany przez Arduino, potrzebujesz programatora i innego IDE. Małe projekty wykorzystujące 1kB kodu można wykonać na ATtiny. Możesz kupić kilkanaście z nich za cenę jednego ATmega328. Te układy są tanie i mają większość możliwości Arduino: I2C, SPI, ADC. Możesz nawet znaleźć biblioteki, które dodają interfejs USB HID! Żadnych sterowników szeregowych ani nic!
Osobiście najpierw piszę kod w Arduino IDE, bez optymalizacji kodu. Jeśli to działa, kod ten można łatwo przepisać do standardowych bibliotek C ++ i zwiększyć wydajność.
Jest to proste, ponieważ musi być dostępne dla wszystkich i to działa: każdy i jego młodsza siostra mogą programować Arduino.
Jeśli uważasz, że możesz poradzić sobie z czymś takim, jak programowanie rzeczywiste , na pewno bym to zrobił. Będziesz musiał napisać więcej kodu, ale także będziesz mieć większą kontrolę. Ważna kwestia: biblioteka Arduino jest strasznie nieefektywna: działa jak DigitalWrite
i DigitalRead
może być wykonana nawet 50 razy szybciej .
DigitalRead/Write
. Nigdy tego nie wiedziałem ...
Większość odpowiedzi dotyczyła użycia tablicy Arduino jako standardowej płyty AVR. Ale możesz także użyć bardziej zaawansowanego IDE i nadal korzystać z prostoty kodowania Arduino i wbudowanych bibliotek (wraz z wyżej wymienionymi wadami). EngBlaze właśnie zrobił tutorial na ten temat: Tutorial: Korzystanie z Atmel Studio 6 z projektami Arduino
Arduino IDE handluje wydajnością kodu dla wygody i szybkości rozwoju małych projektów. Ponieważ eksperci mają również terminy , całkowicie dopuszczalne jest użycie Arduino IDE do szybkiego sprawdzenia koncepcji lub pomocy w debugowaniu innego projektu.
Jeśli chcesz specjalizować się w tworzeniu oprogramowania wbudowanego, musisz mieć możliwość korzystania z bardziej zaawansowanych narzędzi programistycznych, takich jak AVR Studio lub avr-gcc i preferowane IDE.
Wykraczanie poza opanowanie narzędzi programistycznych, poznanie wewnętrznych zasad działania mikrokontrolera i znajomość pewnego zestawu jest zdecydowanie zaletą, jeśli zamierzasz pracować na systemach z małą pamięcią i / lub niskim zapotrzebowaniem na moc i / lub wysoką wydajnością.
so
skomplikować kodów asemblera. Choć wydaje się to trochę trudne, możesz dowiedzieć się, jak dokładnie zachowuje się mikrokontroler. Myślę, że wielu uzna tę odpowiedź za przydatną. Mam nadzieję, że dostaniesz więcej głosów: D .. (i to jest twoja pierwsza odpowiedź, co?).