PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Sprachprobleme



thewilli
04.10.2004, 22:11
Hallo!
Ich habe den ersten Schritt in die Welt der Mikroprozessoren gewagt, und mir das Entwicklerboard STK500 von Atmel bestellt. Aller Anfang ist schwer und doch habe ich im Netz einige Tutorials gefunden. Jedoch stellt sich für mich das Problem der Programmiersprache. Trotz einige Assemblertutorials, die ich durchgearbeitet habe, tue ich mich mit der Anwendung relativ schwer. Auskennen tue ich mich jedoch mit C/C++ und wurde deswegen gleich neugierig als ich gesehen habe, dass es auch für die AVR Serie C Compiler gibt. Jedoch stellt sich für mich die Frage ob es Sinn ergibt diese Sprache in dem Bereich zu verwenden, da die Mikroprozessoren im Vergleich zum "normalen PC" doch wesentlich weniger Resourcen als Grundlage bieten, und Assembler vielleicht doch sinnvoller ist?
Sollte ich mich doch weiter mit Assembler beschäftigen, oder ist das Programmieren in C kein Problem auch für (später) komplexere Probleme?

Danke im Voraus!

Flite
04.10.2004, 22:41
C ist kein Problem und daher sehr geeignet für die AVR Serie. Ausschließlich sehr zeitkritische Aktionen müssen in Assembler programmiert werden. Allerdings kann man bei den C Compilern auch Inline Assembler verwenden - also den Assemblercode auch einarbeiten in das C Programm.

Für komplexe Programme wird Assembler schnell zu aufwändig. Wenn du nicht allzu große Dinge planst, kannst du sehr gut C verwenden. Ein Tutorial für Assembler gibts bei www.mikrocontroller.net

C Compiler sind:
IAR Embedded Workbench AVR (kostenpflichtig)
Keil uVision C Compiler (kostenpflichtig)
AVR GCC (GNU Freeware)

Über den GCC Compiler findest du auf www.mikrocontroller.net auch Infos.

Viele Grüße
Flite

thewilli
04.10.2004, 23:25
Danke für die schnelle Antwort!


Wenn du nicht allzu große Dinge planst, kannst du sehr gut C verwenden

Was heißt das genau - was geht und was geht nicht?

05.10.2004, 08:15
Eigentlich geht alles, man muss nur wissen, was man programmiert. Von den Ressourcen her sind die größeren Megas auch mehr als ausreichend, deren Speicher vollzukriegen erfordert schon sehr umfangreiche Anwendungen. Und diese in asm zu schreiben ist soundso nur mühselig.

Flite
05.10.2004, 09:33
Wenn du ein Projekt planen solltest, dass selbst für den Mega128 (leistungsfähigster Controller der AVR Serie) nur in Assembler zu bestreiten ist, würde ich zu einer anderen leistungsfähigeren Controllerfamilie umsteigen.

Was genau geht und was nicht hängt vom Einzelfall ab. Ich persönlich habe noch nichts über dem Mega8515 verwendet. Beschreib doch mal ein bisschen, was du machen willst.

Grüße
Flite

thewilli
05.10.2004, 14:36
Beschreib doch mal ein bisschen, was du machen willst.

Im Prinzip bin ich (Hobby-) Programmierer und Modellbauer, und wollte nachdem ich von den Fähigkeiten der Mikroprozessoren erfahren habe, beide Hobbys miteinander verbinden, also für die Modelle eine interne, autonome Steuerung konstruieren (also auf Sensorenwerte reagieren, Waypoints abfahren, ...)
Um da hinzukommen muss ich mir natürlich erst mal ein gewisses Grundwissen aneignen, und deshalb die Frage ob ich bei C bleiben, oder sinnvoller auf Assembler umsteigen sollte...

Flite
05.10.2004, 18:55
Hallo!

Prinzipell ist es für dein Vorhaben besser mit C zu arbeiten (meine persönliche Meinung). Die AVR Serie reicht dafür gut aus - bzw. ist als Einstieg gut geeignet. Sollte es zu kompliziert werden für die Controller, lässt sich mit C (bei entsprechender Programmierung) auch gut auf andere Prozessorfamilien umsteigen. Dies ist mit Assembler nur schwer möglich.

Zum Einstieg ist Assembler jedoch sehr interessant. Durch die Assemblerprogrammierung lernt man den Controller kennen (wie er funktioniert -> Register, Stack, SRAM, AD Wandler, ...). Ich habe selbst den Einstieg in Assembler gemacht - anschließend bin ich auf das mit bekannte C umgestiegen.

Du kannst das Tutorial von Mikrocontroller.net ja mal anschauen.

Viele Grüße
Flite

thewilli
05.10.2004, 20:50
Erstmal Danke!
Ich denke genau so werde ich es machen. Das Tutorial von Mikrocontroller.net sieht auch ganz gut und verständlich aus.

Eine Frage noch - wo finde ich ein gutes Tutorial für die AVR Programmierung mit C? (Also keine Einführung in die Sprache sondern eine Anleitung für die Ansprache der Hardwarefunktionen wie z.B. die Benutzung von Watchdog und A/D Wandler oder einfach nur das Schalten von Ports)

06.10.2004, 08:38
Bei www.mc-project.de gibt es zu den meisten Funktionen kurze Beispielprogramme.

thewilli
06.10.2004, 13:45
das sieht gut aus - Danke!!