Ich stimme zklapow zu, überprüfe aber auch den Projektabschnitt zu AVR Freaks. So habe ich am Tag vor den Arduinos gelernt. Außerdem müssen Sie mit ziemlicher Sicherheit das Datenblatt für Ihren Chip lesen, um nützliche Aufgaben zu erledigen. Es gibt keine netten Funktionen, die zum Beispiel einen analogen Pin einlesen, weil es so viele Parameter gibt, dass die Arduino-Umgebung vor Ihnen verborgen bleibt. Lassen Sie mich Ihnen ein Beispiel geben:
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
}
ist ungefähr ähnlich dem folgenden C (nicht getestet):
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
}
}
Sicher, es gibt Verzögerungsfunktionen in einigen Bibliotheken und möglicherweise Ausgabefunktionen in anderen, aber gewöhnen Sie sich daran, Code wie diesen zu schreiben. Der einzige Weg, wie Sie möglicherweise wissen können, was all dieses PORTB- und DDRB-Zeug bedeutet, ist das Lesen des Datenblattes. Es tut mir leid, darüber nachzudenken, aber nicht genug Leute erkennen, dass das Datenblatt eine Goldmine für Informationen ist.
Sie sollten auch Eclipse für C / C ++ und das AVR-Eclipse-Plugin ausprobieren. Funktioniert einwandfrei für mich, besonders mit Crosspack. Ich benutze es jetzt seit ungefähr einem Jahr und ich mag es wirklich.
quelle
Ich benutze auch ObDevs CrossPack . Es ist eine großartige Bündelung aller Tools, die zum Schreiben von AVR-GCC C-Code benötigt werden. Es handelt sich um dieselben Tools, die in einer Standard-Arduino-Installation vorhanden sind. Daher habe ich manchmal den Mut des Arduino-Build-Systems verwendet, um einfachen AVR-GCC-Code zu schreiben.
Normalerweise verwende ich beim Schreiben von C-Code einen Texteditor, Befehlszeilenbefehle und Makefiles. Auf diese Weise bin ich einfach effizienter. Ich habe ein Fenster geöffnet, das der Texteditor (Emacs) ist, ein anderes Fenster, das kompiliert wird, und ein drittes oder viertes Fenster, das einen seriellen Monitor oder ähnliches ausführt. All dies kann jedoch in einem einzigen Befehlszeilenfenster ausgeführt werden. In diesem Fall sehen die Befehle ungefähr so aus:
Vielleicht möchten Sie auch SmileyMicros.com besuchen . Er hat vor dem Arduino ein wirklich schönes Buch über die Einführung von AVR GCC-Programmen auf der Grundlage des AVR Butterfly-Boards geschrieben und seitdem seine Beispiele aktualisiert, um Arduino aufzunehmen. Es ist ein schöner Vergleich, um zu sehen, wie die AVR C-Programmierung auf einem komplexeren Chip als dem in Arduino durchgeführt wird.
quelle
Wenn Sie crosspack installieren, können Sie Apples Xcode für Mac verwenden, eine großartige IDE. Wenn Sie c für AVR lernen möchten, besuchen Sie das Tutorial-Forum unter AVR Freaks . Schauen Sie sich diese Frage auch für Linux an .
quelle
Da Sie das Arduino verwendet haben, ist alles, was Sie benötigen, bereits installiert. Ich kompiliere Arduino-Skizzen über die Kommandozeile mit einem Makefile. Ich kompiliere auch Code ohne den Arduino Bootloader.
Das Makefile, mit dem ich den Arduino-Bootloader für meine Boards kompiliere, befindet sich unter http://wiblocks.luciani.org/docs/app-notes/bootloader.html. Sie können es so ändern, dass Ihr Programm kompiliert wird und nicht die Datei ATmegaBOOT_xx8.c.
Mein Makefile wurde von der Datei geändert, die ich auf dieser Site gefunden habe - http://mjo.tc/atelier/2009/02/arduino-cli.html
Als ich dieselbe Frage (erst gestern;) auf Twitter beantwortete, stieß ich bei dorbotpdx auf ein Makefile. Siehe http://dorkbotpdx.org/blog/ax/arduino_0017_makefile
Es gibt auch ein gut dokumentiertes Shell-Skript unter http://arkku.com/misc/arduino_make.sh
Ich würde wahrscheinlich eher ein Makefile als ein Shell-Skript verwenden. Der Typ, der dieses Skript erstellt hat, hat den Ablauf hervorragend kommentiert. Es ist Arbeit, nur um den Fluss zu verstehen.
quelle
Ich fand CodeLite (www.codelite.org) IDE nett und voll ausgestattet; Um AVR-Mikrochips zu programmieren, müssen Sie jedoch Ihr eigenes Makefile erstellen.
Sie können den BeRTOS-Assistenten ausprobieren , der ein BeRTOS-Projekt und zugehörige Makefiles erstellt, die Sie dann mit CodeLite verwenden können. Um Ihr Ziel zu flashen, verwenden Sie einfach "Blitz machen" und Sie sind fertig. Wir arbeiten täglich unter Linux. Wenn Sie weitere Fragen haben, veröffentlichen Sie diese bitte auf der Mailingliste. Haftungsausschluss: Ich bin ein BeRTOS-Entwickler.
Viele Grüße, Luca
quelle
Wenn Sie Macports installiert haben, können Sie einfach Folgendes ausführen:
und du solltest bereit sein zu gehen.
quelle
Wenn Sie Ihr Paketsystem bitten, avr-libc zu installieren, sollte dies Ihnen alles geben, was Sie brauchen. Ich benutze Emacs als meine IDE, denn siehe Benutzername.
Wenn Sie ein Vorlagen-Makefile möchten, schauen Sie sich eines meiner Projekte auf github an, z. B. https://github.com/unixbigot/pir-lite
In diesem Repo ist avr-tmpl.mk eine handelsübliche Makefile-Bibliothek (nicht von mir geschrieben). Sie fügen es aus Ihrem Haupt-Makefile hinzu und müssen nur definieren, welchen Chip Sie haben, die Taktrate und Ihre Dateien. Ich habe eine Kopie davon und füge sie aus allen meinen Projekt-Makefiles hinzu.
"make program" ruft avrdude auf, um den Code herunterzuladen. Das Makefile druckt auch die Codegröße am Ende aus, sodass Sie wissen, wie viel Platz Sie noch haben.
quelle
Ich habe meinen 'alten' Duemanilove 'mit Hilfe dieses Artikels als ISP programmiert: http://arduino.cc/en/Tutorial/ArduinoISP Es funktioniert genauso gut mit ATtiny's: http://hlt.media.mit.edu/? p = 1229
Wenn Sie Arduino IDE 0022 verwenden, müssen Sie die ArduinoISP-Skizze auf eine neuere Version aktualisieren. Aufgrund der Spam-Prävention habe ich diesen Link zu den Kommentaren unten verschoben.
Ich habe die Programmierung in einem Texteditor (vi) durchgeführt und mit avr-gcc kompiliert, wie in dem von mir verlinkten mit.edu-Artikel beschrieben.
quelle
Hey Mann, du kannst avrstudio immer noch in Ubuntu verwenden. Überlegen Sie, wie Sie das tun können .....
Die Antwort ist, einfach die Weinanwendung zu installieren und diese Windows-Software mit Wein auszuführen.
Avr Studio, Proteus ... sogar Fensterspiele können in Ubuntu mit Wein ausgeführt werden.
Sie müssen sich nicht einmal mit den Makefiles anlegen (einfach mit Wein installieren und loslegen).
Es gibt viele Websites, auf denen Sie mit AVR-MCUs beginnen können, z. B. Extremelektronik, AVR-Tutorials usw. Geben Sie einfach eine Google-Suche an.
Ich werde im Detail erklären, wie man avrstudio 4 in Wein installiert, da avrstudio 5 und 6 nicht damit funktionieren, aber Sie können die virtuelle Box unter Linux verwenden, um sogar avr stud 5 und 6 mit Windows auf der virtuellen Box auszuführen.
Öffnen Sie das Ubuntu Software Center, geben Sie wine in die Suche ein und installieren Sie es.
Dann holen Sie sich das Setup für avrstudio4 und Sie müssen auch win avr installieren
versuchen Sie diese Links für
ein. 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%F 2F & use_mirror = kaz
3.Öffnen Sie den Ordner, in dem sich das Setup für AS (avr studio 4) befindet, klicken Sie mit der rechten Maustaste und öffnen Sie ihn mit "Windows Wine Program Loader" oder "einer Weinanwendung".
4.Dann müssen Sie wie in Windows auf die nächsten Schaltflächen klicken.
5. Installieren Sie dann win avr erneut ähnlich wie bei wine (gehen Sie in das win avr-Setup ....).
6.Downloaden Sie die klassische Menüanzeige vom Ubuntu Software Center. Sie werden es in nur fünf Minuten erfahren.
7. Aus dem klassischen Menü -> Wein -> Programme -> AVR-Tools
Der sechste Schritt ist ein zusätzlicher Schritt, damit Sie sich nicht damit herumschlagen müssen, wo sich die ausführbare Option avrstudio4 im Weinordner befindet.
quelle