Beginnen Sie mit Embedded C mit ATmega32 (ATmega AVR-Serie)

9

Ich habe ein ATmega32-Board herumliegen und ich denke, es wäre perfekt, mit Mikrocontrollern zu beginnen. Ich habe einmal in eingebettetem C geredet (das war, als ich dieses Board bekam), aber der Fluss wurde aufgrund einiger Dinge gestoppt. Jetzt habe ich zwei Fragen:

  1. Was ist die beste kostenlose Ressource, um mit C für die avr-Serie zu beginnen? Ich kenne AVR-GCC, suchte aber nach Tutorials oder kostenlosen Büchern, um mich anzufangen.

  2. Soll ich direkt zu C springen oder zuerst ASM durchlaufen? Ich sehe, dass es viele Asm-Bücher gibt. Was ist eine bessere Option?

Während ich im Internet suchte, fand ich den Arduino-Bootloader für ATmega32 hier http://retrointerfacing.com/?p=30, aber das Problem ist, dass ich zögere, an den Sicherungsbits und allem zu basteln. Ist das sicher?

Rick_2047
quelle

Antworten:

5

Treten Sie AVR Freaks bei . Sie finden viele Ressourcen und Hilfe, wenn Sie nicht weiterkommen.

Leon Heller
quelle
6

Die avr-libc-Dokumentation ist eine hervorragende Informationsquelle für C zu AVRs. Hier ist noch einer .

Persönlich arbeite ich lieber in C. Durch die Verwendung von avr-libc erhalten Sie eine gute Code-Portabilität innerhalb der AVR-Familie. Wenn Sie jedoch zeitkritische Maßnahmen ergreifen, müssen Sie möglicherweise auf ASM zurückgreifen.

Wenn Sie einen Parallel- oder Hochspannungs- AVR-Programmierer haben , können Sie die Sicherungsbits jederzeit neu programmieren. Wenn Sie seriell (In-System-Programming, ISP) verwenden, achten Sie darauf, die SPIEN- oder RESETENABLE-Bits nicht zu deaktivieren, da Sie sonst nicht neu programmieren können.

Es ist ein Arduino HV-Programmierschild verfügbar.

Toby Jaffey
quelle
4

Ich würde mit C beginnen. Möglicherweise benötigen Sie gelegentlich einen Ausschnitt von ASM, aber für die meisten Anwendungen geht es darum. Die Ausnahme wäre ein Bootloader, wenn Sie sich entscheiden, Ihren eigenen zu rollen.

Dave Mellis hat ein AVR-Tutorial im MIT HLT-Wiki veröffentlicht. Er bespricht die Einrichtung der Tools für den ATmega328, aber es scheint allgemein genug zu sein, um Ihnen bei verschiedenen Geräten zu helfen. Sehen

http://hlt.media.mit.edu/wiki/index.php/AVR_Programming

Die Bibliotheken und Beispiele am Standort Atmel scheinen gut zu sein. Ich habe eine Reihe von Ausschnitten aus ihren App-Notizen verwendet. Die I2C (TWI) -Bibliothek, die ich in meinem RTC-Code verwende, stammt von der Atmel-Site.

jluciani
quelle
3

Ich würde zuerst mit Arduino gehen. Viele Bücher, Tutorials und Beispielcode. Und eine tolle und nette Community. Wenn Sie mit Arduino vertraut sind, probieren Sie C mit AVR-GCC aus.

Ich kann ASM heutzutage nicht empfehlen. Es gibt vielleicht einige Ecken, in denen Sie ASM verwenden müssen, aber die meisten Dinge können mit einfachem C gelöst werden. Mit ASM können Sie einige Details über die Funktionsweise eines Mikrocontrollers lernen, aber wenn Sie die Dinge schneller erledigen möchten, würde ich mich daran halten C oder C ++.

basteln
quelle
Das Problem ist, dass es sehr schwer ist, ein Arduino zu bekommen, in dem ich wohne. Ich habe vor, eine für mich selbst zu machen, aber auch das funktioniert nicht (lesen, habe keine Zeit).
Rick_2047
Wenn Sie den Chip programmieren können, können Sie die Arduino-Firmware darauf laden und dann die serielle Verbindung + den Bootloader für nachfolgende Arbeiten verwenden.
Gallamin
0

Sie können mit der C-Programmierung für Mikrocontroller von Joe Pardue beginnen. Verwenden Sie AVRStudio5 und bleiben Sie bei http://avrfreaks.net. Hier können Sie viele coole und hilfreiche Leute finden.

Bishal Paudel
quelle