Zgadzam się z Zklapow, ale sprawdź także sekcję projektów AVR Freaks. Tak nauczyłem się w przeddzień arduinos. Ponadto prawie na pewno będziesz musiał przeczytać arkusz danych swojego układu, aby zrobić coś pożytecznego. Nie ma ładnych funkcji, które na przykład wczytują pin analogowy, ponieważ istnieje tak wiele parametrów, że środowisko arduino ukrywa przed tobą. Dam ci przykład:
int ledPin = 13; // LED connected to digital pin 13
// The setup() method runs once, when the sketch starts
void setup() {
// initialize the digital pin as an output:
pinMode(ledPin, OUTPUT);
}
// the loop() method runs over and over again,
// as long as the Arduino has power
void loop()
{
digitalWrite(ledPin, HIGH); // set the LED on
delay(1000); // wait for a second
digitalWrite(ledPin, LOW); // set the LED off
delay(1000); // wait for a second
}
jest z grubsza podobny do następującego C (nie testowano):
int main(void) {
// I just randomly picked pin 6 on PORTB, this may not be the same on an arduino
DDRB = (1<<6); // set pin to output in data direction register
int i; // have to do this outside the for loop because of C standard
while(1) {
PORTB |= (1<<6); // send pin 6 high and leave other pins in their current state
for (i=0; i<10000; i++); // delay
PORTB &= ~(1<<6); // send pin 6 low
for (i=0; i<10000; i++); // delay
}
}
Jasne, w niektórych bibliotekach są funkcje opóźniające, aw innych mogą występować funkcje wyjściowe, ale przyzwyczaj się do pisania takiego kodu. Jedynym sposobem, aby dowiedzieć się, co oznaczają wszystkie te elementy PORTB i DDRB, jest przeczytanie arkusza danych. Przykro mi z tego powodu, ale mało osób zdaje sobie sprawę, że arkusz danych jest kopalnią złota dla informacji.
Powinieneś także sprawdzić Eclipse dla C / C ++ i wtyczkę AVR-Eclipse. Działa dla mnie bezbłędnie, szczególnie z crossspackiem. Używam go od około roku i bardzo mi się podoba.
źródło
Używam również ObDev's CrossPack . To świetne połączenie wszystkich narzędzi potrzebnych do napisania kodu AVR-GCC C. Są to te same narzędzia, które występują w standardowej instalacji Arduino, więc czasami używałem odwagi systemu kompilacji Arduino do pisania zwykłego kodu AVR-GCC.
Zwykle, gdy piszę kod C, używam „IDE” to edytor tekstu, polecenia wiersza poleceń i pliki Makefiles. Jestem po prostu bardziej wydajny. Mam jedno otwarte okno, które jest edytorem tekstu (emacs), kolejne okno, które jest kompilowane, a trzecie lub czwarte, które robi monitor szeregowy lub podobny. Ale wszystko to można zrobić w jednym oknie wiersza polecenia, w którym to przypadku polecenia wyglądają mniej więcej tak:
Możesz także sprawdzić SmileyMicros.com . Napisał naprawdę fajną książkę o wstępnym programowaniu AVR GCC opartym na płycie AVR Butterfly, przed Arduino, i od tego czasu aktualizuje swoje przykłady, aby włączyć Arduino. To miłe porównanie, aby zobaczyć, jak programowanie AVR C odbywa się na bardziej złożonym układzie niż ten w Arduino.
źródło
Jeśli zainstalujesz crosspack , możesz użyć Apple Xcode dla komputerów Mac, co jest świetnym IDE. Jeśli chcesz się nauczyć c dla AVR, odwiedź forum samouczków w AVR Freaks . Także w przypadku Linuksa sprawdź to pytanie .
źródło
Ponieważ korzystasz z Arduino, wszystko czego potrzebujesz jest już zainstalowane. Kompiluję szkice Arduino z linii poleceń za pomocą Makefile. Kompiluję również kod bez bootloadera Arduino.
Makefile, którego używam do kompilacji programu ładującego Arduino dla moich płyt, znajduje się pod adresem http://wiblocks.luciani.org/docs/app-notes/bootloader.html Możesz go zmodyfikować, aby skompilować program, a nie plik ATmegaBOOT_xx8.c.
Mój plik Makefile został zmodyfikowany z pliku znalezionego na tej stronie - http://mjo.tc/atelier/2009/02/arduino-cli.html
Odpowiadając na to samo pytanie (wczoraj;) na Twitterze, natknąłem się na makefile na dorbotpdx. Zobacz http://dorkbotpdx.org/blog/ax/arduino_0017_makefile
Istnieje również dobrze udokumentowany skrypt powłoki na stronie http://arkku.com/misc/arduino_make.sh
Prawdopodobnie użyłbym raczej Makefile niż skryptu powłoki. Osoba, która wykonała ten skrypt, wykonała świetną robotę, komentując przebieg. To praca wygląda tylko po to, aby zrozumieć przepływ.
źródło
Znalazłem CodeLite (www.codelite.org) IDE ładny i w pełni funkcjonalny; jednak, aby zaprogramować mikroczipy AVR, musisz stworzyć swój własny Makefile.
Możesz wypróbować BeRTOS Wizard , który utworzy projekt BeRTOS i powiązane pliki Makefile, których możesz następnie użyć z CodeLite. Aby sflashować swój cel, po prostu użyj „make flash” i gotowe. Codziennie pracujemy w systemie Linux, jeśli masz dodatkowe pytania, umieść je na liście mailingowej. Oświadczenie: Jestem programistą BeRTOS.
Pozdrawiam, Luca
źródło
Jeśli masz zainstalowany Macports , możesz po prostu uruchomić:
i powinieneś być gotowy do drogi.
źródło
Jeśli poprosisz system pakietów o zainstalowanie avr-libc, powinno to dać ci wszystko, czego potrzebujesz. Używam emacsa jako mojego IDE, bo cóż, patrz nazwa użytkownika.
Jeśli chcesz makefile szablonu, spójrz na jeden z moich projektów na github, np. Https://github.com/unixbigot/pir-lite
W tym repozytorium avr-tmpl.mk jest gotową biblioteką makefile (nie napisaną przeze mnie). Dołączasz go z głównego pliku makefile i musisz tylko określić, jaki masz układ, szybkość zegara i pliki. Mam jedną jego kopię i dołączam ją ze wszystkich plików mak projektu.
„make program” wywoła avrdude, aby pobrać kod. Makefile drukuje również rozmiar kodu na końcu, dzięki czemu wiesz, ile pozostało ci miejsca.
źródło
Zaprogramowałem mój „stary” Duemanilove jako ISP za pomocą tego artykułu: http://arduino.cc/en/Tutorial/ArduinoISP Działa równie dobrze z ATtiny: http://hlt.media.mit.edu/? p = 1229
Pamiętaj, że korzystając z Arduino IDE 0022, musisz uaktualnić szkic ArduinoISP do nowszej wersji, ze względu na zapobieganie spamowi przeniosłem ten link do poniższych komentarzy.
Programowałem w edytorze tekstu (vi) i skompilowałem przy użyciu avr-gcc, jak opisano w linku do mit.edu.
źródło
Hej koleś, nadal możesz używać avrstudio w Ubuntu. Myślisz, jak możesz to zrobić .....
Odpowiedź polega na zainstalowaniu aplikacji do wina i uruchomieniu oprogramowania Windows z Wine.
Avr studio, proteus ... nawet gry Windows można uruchamiać w Ubuntu z winem.
Nie musisz nawet zadzierać z makefiles bla bla. (Wystarczy zainstalować wino i zacząć).
Istnieje wiele witryn, na których można rozpocząć pracę z MCU AVR, takich jak Extremeelectronics, samouczki AVR itp. Wystarczy wyszukać w Google.
Opowiem szczegółowo, jak zainstalować avrstudio 4 w winie, ponieważ avrstudio 5 i 6 nie działa z nim, ale możesz użyć wirtualnego boxa w systemie Linux, aby uruchomić nawet avr stud 5 i 6 z oknami na wirtualnym boxie.
Otwórz centrum oprogramowania Ubuntu i wpisz wino w wyszukiwaniu, a następnie zainstaluj je.
Następnie uzyskaj konfigurację avrstudio4, a także musisz zainstalować win avr
wypróbuj te linki dla
za. avr studio 4 http://mycomsats.com/blogs/download-atmel-avr-studio-4-free/
b. win avr http://sourceforge.net/projects/winavr/files/WinAVR/20100110/WinAVR-20100110-install.exe/download?use_mirror=kaz&r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Fwinavr%2Ffiles% 2F i use_mirror = kaz
3. Otwórz folder, w którym znajduje się konfiguracja AS (avr studio 4), a następnie kliknij prawym przyciskiem myszy, a następnie otwórz go za pomocą „programu ładującego program do wina dla systemu Windows” lub „aplikacji do wina”.
4. Następnie musisz kliknąć kolejne przyciski, tak jak w Windows.
5. Następnie ponownie zainstaluj win avr podobnie do wina (przejdź do konfiguracji win avr ....).
6. Pobierz klasyczny wskaźnik menu z centrum oprogramowania Ubuntu. Dowiesz się o tym za pięć minut.
7. Z klasycznego menu -> wino -> Programy -> narzędzia avr
szósty krok jest dodatkowym krokiem, dzięki czemu nie musisz bałagać się, gdzie w folderze wine znajduje się opcja wykonywalna avrstudio4.
źródło