Hallo miteinander,
ich möchte in meiner Freizeit gerne etwas über die
Mikrocontroller-Programmierung lernen. Habe aber überhaupt keine Ahnung
davon. Also hätte ich gerne einen Baukasten, wo schon alles drin ist
(Erklärungen, Beispiele, Aufgaben).
Außerdem möchte ich den Controller in C programmieren.
Ich hoffe ihr könnt mir weiterhelfen.
Zur Zeit gibt es da 2 Varianten.
Die hardwarenahe Bitfummelei auf den AVRs. Und PC-artige Programmierung,
alles in Libraries verpackt auf den ARMs.
Welche Richtrung willst du einmschlagen?
Dazu gibt es hier auf der Seite Tutorien, die sich auf die Atmel AVR
beziehen.
Auf anderen Internetseiten kann man sich über den Einstieg in andere
Controller-Familien einlesen.
Der AVR ist schon ziemlich verbreitet und wenn man zu einem schnellen
Ergebnis kommen will, bietet sich die Arduin9o-Plattform an.
(Jetzt dürfen wieder die Bitschubser mit ihrem "Du musst auch wissen,
wie man das Makefile anfässt" kommen - das würde ich auf einen späteren
Zeitpunkt verschieben.)
Für den leichten Einstieg empfehlen sich mit Sicherheit die Arduinos.
Sind extra für so was gemacht. Es gibt auch genügend Bücher etc wo viele
Beispiele enthalten sind.
Der spätere Umstieg auf reines C ohne Bibs ist dann nicht zu extrem!
Ansonsten empfiehlt es sich auch C erst mal direkt auf dem PC zu lernen.
Vorteil ist die viel bessere Debugmöglichkeit und du brauchst erst mal
gar keine HW. Damit würde ich anfangen!
Auch würde ich am Anfang auf keinen Fall mit Steckbrett anfangen! Kauf
dir ein fertiges Board, am besten noch ein Debugger dazu. Dann brauchst
du dich "nur" um die Programmierung kümmern und kannst über den Debugger
auch leichter Fehler im Code suchen als mit reinem Programmer!
Sobald du Routine in Sachen Software drin hast, kannst du auf eigene HW
umsteigen.
Dulfried schrieb:> Also hätte ich gerne einen Baukasten, wo schon alles drin ist> (Erklärungen, Beispiele, Aufgaben).
Das Internet ist voll davon.
Arduino wurde schon genannt und gibts für ein paar € bei eBay (z.B.
Arduino pro micro), dazu ein Steckbrett, ein paar LEDs/Widerstände/FETs
http://arduino.cc/
Und - viele glauben es nicht - Arduino-Boards verwenden ganz
gewöhnlichen Atmel Prozessoren, die ganz gewöhnlich in C oder ASM
programmiert werden können.
@PICler Die Seite sieht gar nicht übel aus. Aber welche
Hardware/Bauteile brauche ich dafür?
@STK500-Besitzer Also müsste ich mir einen Avr mikrocontroller
anschaffen und sonst nur einen geeigneten Compiler? Oder brauche ich
sonst noch was? Und welcher avr ist für den einstieg am besten geeignet.
@Noch einer ich weiß jetzt nicht wirklich wo da dann beim Programmieren
der unterschied sein soll, aber aus deiner Formulierung gehe ich mal
davon aus, dass die ARMs für den Anfang besser sind?
zur Info: Also normales C habe ich die Grundlagen bereits gelernt.
@Frank Hättet ihr auch einen genauen Produktnamen oder link für solch
ein komlettes Board?
Dulfried schrieb:> @PICler Die Seite sieht gar nicht übel aus. Aber welche> Hardware/Bauteile brauche ich dafür?
Steht doch da alles.
> @STK500-Besitzer Also müsste ich mir einen Avr mikrocontroller> anschaffen und sonst nur einen geeigneten Compiler? Oder brauche ich> sonst noch was? Und welcher avr ist für den einstieg am besten geeignet.
Für AVR steht alles hier im Tutorial.
> @Noch einer ich weiß jetzt nicht wirklich wo da dann beim Programmieren> der unterschied sein soll, aber aus deiner Formulierung gehe ich mal> davon aus, dass die ARMs für den Anfang besser sind?ARM sind sehr viel leistungsfähiger und werden oft "abstrakter"
programmiert.. ob das für den Anfang sinnvoll ist!? Ich persönlich finde
nicht, aber gleich werden mir x Leute wiedersprechen.
Das Problem bei Fragen wie deinen ist, dass viel zu viel nachgedacht
wird. Es ist tausend mal wichtiger etwas zu MACHEN. Also arbeite
"einfach" das Tutorial hier durch und du bist mitten drin in der
Programmierung statt in der zweifellos hier ausufernden Diskussion was
denn am Besten ist.
Gruß
Dennis
http://www.ebay.de/itm/221606981761 kostet ~5€ und ist alles an HW was
du für die erste blinkende LED brauchst (es ist eine direkt steuerbare
LED auf dem Board).
Danach kannst du ihn auf ein Breadboard stecken und weiter-lernen.
IDE (= Editor + Compiler) ist GRATIS.
Wen du aus den Arduino-Kinderschuhen rausgewachsen bist, dann kannst du
ihn mit avr-dude weiterbenutzen....
Dulfried schrieb:> @PICler Die Seite sieht gar nicht übel aus. Aber welche> Hardware/Bauteile brauche ich dafür?
Als Programmer würde ich das PICkit3 verwenden, die China Clones sollen
auch ganz gut sein und dazu ein PIC Board. Ich habe mit dieses mit einem
PIC18F45k22 nachgebaut:
http://sprut.de/electronic/pic/test/index.htm#40pin
Für die ersten Schritte tut es aber auch ein PIC auf einem Breadboard.
Alternativ könnte man auch das "PICkit3 Debug Express" kaufen, da ist
alles an Hardware dabei was man brauch.
Die Software gibt's kostenlos auf http://www.microchip.com/
ok dann werde ich mir den Arduino Nano V3.0 kompatibles Board holen,
damit habe ich dann ja erstmal die hardware abgedeckt.
Welche IDEs sind gängig und kostenlos?
Und habt ihr hier auf der Seite auch noch eine Tutorial zu diesem Board?
Oder kann ich mir jedes beliebige tutorial anschauen?
Die Frage ist, was Du anstellen möchtest - und für jedes Szenario wirst
Du wohl eine Unmenge an Vorschlägen erhalten :-)
Ich baue zur Zeit z.B. ein EPROM Reader für uralte EPROMs (z.B. 1702A) -
die verwendeten Tools und die benutze Hardware läßt sich für alle
Projekte verwenden, bei der man Daten auf einer externen Hardware
sammeln und mittels eines PC-Programms auf den PC einlesen möchte.
Um eine Alternative zu VisualStudioC++/wxWidgets/Qt zu haben, habe ich
für dieses Projekt auf der PC-Seite
Codelite/MinGW(TDM-GCC)/wXWidgets/wxcrafter/Boost.Asio verwendet - alles
Tools, die ich dann in gleicher/ähnlicher Weise unter Linux einsetzen
könnte.
Für die externe Hardware verwende ich ein Atmel SAMD21 Xplained Pro Kit.
Wer einen schnellen Rechner hat, kann mit dem Atmel Studio dafür das
Programm entwickeln, mit meinem Core2Duo Laptop bin ich auf die IAR
Embedded Workbench für ARM (KS-Version) ausgewichen.
Beim SAMD21 Xplained Pro wird über ein USB-Kabel neben der Power und dem
Lade/Debug-Interface auch ein Virtueller ComPort für die Verbindung zum
PC/PC-Programm zur Verfügung gestellt, so dass die Schnittstelle
zwischen externer Hardware und PC schon vorhanden ist.
Als Alternative für das Xplained Pro kommen auch ST NUCLEO Boards in
Frage - die bieten 'ne Menge für 'nen Spottpreis, u.a. neben dem
Lade/Debug-interface auch den Virtuellen ComPort.
Ich werde mein Projekt, wenn es fertig ist, auf meiner Webseite
einstellen - falls Du in dieser Richtung was machen möchtest, kann ich
Dir den aktuellen Stand schon vorab zur Verfügung stellen.
Dulfried schrieb:> lso hätte ich gerne einen Baukasten, wo schon alles drin ist> (Erklärungen, Beispiele, Aufgaben).>> Außerdem möchte ich den Controller in C programmieren.
Dann sind prinzipiell Evaluation Boards schon der richtige Weg. Die
Frage ist nur: Welches?
Ein Anfänger soll sich immer auf seine aktuelle Problemstellung
konzentrieren können und das "Drumherum" muss einfach laufen. Eine "all
in one" Lösung ist anzustreben. Es muss eine sauber strukturierte
Dokumentation geben, in der man sich schnell zurecht findet.
Mein erster Kandidat wäre daher der MSP430 mit dem Launchpad. Mit dem
Launchpad erhält man ein lauffähiges Board, an dem alle Pins rausgeführt
sind. Der Programmer, der Debugger, die UART/USB Bridge usw. sind
bereits Onboard.
Der Family User Guide ist mit die beste µC Dokumentation.
Der MSP430 selbst ist einfach zu verstehen und hat keine Fallgruben. Das
Forum hier zeigt sehr gut, welche µC welche Schwächen haben.
Es gibt im Netz viele Quellen für den Einstieg, z. B.
http://www.argenox.com/library/msp430/
Nach den ersten Schritten reicht schon der Family User Guide. Gerne wird
zum Selbststudium das Buch
http://www.amazon.de/MSP430-Microcontroller-Basics-John-Davies/dp/0750682760
genommen.
Dulfried schrieb:> Welche IDEs sind gängig und kostenlos?
Also zu Anfang™ nimmst du die arduino IDE
http://arduino.cc/en/Main/Software
Die reicht für die ersten Schritte von der blinkenden LED bis zu
simpleren echten Applikationen. Hat den großen Vorteil, dass man sich
rel. sicher sein kann, dass alles zusammen sofort funktioniert.
Danach ist der Umstieg auf AVRStudio oder Eclipse mit AVR-Plugin
deutlich einfacher, weil man schon etwas in "µC-Sphären" denkt.
Tja, es hat noch nicht einmal richtig begonnen und man tummelt sich auf
einem Nebenschauplatz.
Als Anfänger sollte man auf etwas funktionierendes bauen.
Dulfried schrieb:> Mich verunsichtert bei 221606981761 nur, dass da nirgends etwas von> einer Erklärung steht. Denn ohne diese kann ich damit leider nichts> anfangen.
Naja, es ist ein Arduino nano Klon.
Die Anleitung dazu gibt es hier:
http://arduino.cc/en/Guide/Windows
Frank schrieb:> ArduinosTom schrieb:> ArduinoTom schrieb:> Arduino pro microTom schrieb:> Arduino-BoardsNoch einer schrieb:> ArduinoMax D. schrieb:> Arduino
Man es nervt!
Sobald hier ein Neuling eine Frage ähnlich der des TOs stellt, kommen
sofort die zig Leute der "Arduino-Fraktion" aus ihren "Löchern
gekrochen, stürzen sich wie Fliegen auf eine verdorbene Obsttorte auf
den Fragenden, und versuchen diesen zu bekehren.
Dulfried schrieb:> ok dann werde ich mir den Arduino Nano V3.0 kompatibles Board holen,
Und haben damit auch noch meisten Erfolg.
Für einen Einsteiger, ist es meines Erachtens, so vollkommen unmöglich,
einen neutralen Überblick über die gegebenen Möglichkeiten zu gewinnen,
da dieser den Eindruck bekommen muss, der Kauf eines dieser Arduino-
Dinger wäre der einzig gangbare Weg.
Anderweitig genannte Alternativen gehen unter, bzw. werden gar nicht
erst in Erwägung gezogen.
Dies kann man bei jedem ähnlich geartetem Thread wie diesem beobachten.
Ich finde das schlimm und traurig zugleich.
Entschuldigt bitte diesen Off-topic-Beitrag, aber das musste einfach mal
raus.
Ich weiß, jetzt werden gleich wieder alle Arduino-Fans aus ihren Hölen
gestürzt kommen, und mich belehren dass ich ja ganz falsch liege. Aber
sei es drum.
Grüße in die Runde.
Holger
Noch einer schrieb:> Zur Zeit gibt es da 2 Varianten.>> Die hardwarenahe Bitfummelei auf den AVRs. Und PC-artige Programmierung,> alles in Libraries verpackt auf den ARMs.>> Welche Richtrung willst du einmschlagen?
Wat für'n Schwachsinn. Wie ein MC programmiert wird entscheidet der
Programmierer und nicht der Chip. Sowohl ARM based als auch AVR's die es
im übrigen auch mit ARM Core gibt können sowohl Abstrakt als auch HW
nah programmiert werden. Zun Endtieg eignet sich jeder Kontroller wenn
ich persönlich auch nicht zuletzt wegen der guten Umsetzbarkeit auf dem
Breadboard oder der eig. HW Realisierung aufgrund zahlreicher DIP
Varianten stehst zu AVR raten würde. Auch gibt's bei AVR vom Hersteller
eine hervorragende IDE.
Wenn man sich mit MC beschäftigt will man die Dinger wohl auch
verstehen. Denn sie sind im übrigen dazu da um mit externer HW
unmittelbar zu sprechen. Also per se HW nah. Wer bunte Bildchen
Programmieren will und sich von HW fern halten möchte ist besser auf dem
PC aufgehoben.
Es mag hier ne Menge Klugscheisser geben, die glauben sie schwimmen ganz
oben auf der Suppe weil Sie auf eben ARM Dev Board ne LED zum blinken
gebracht haben oder mittels vorgefertigter LIB Linien auf ein LCD gemalt
haben, aber den Controller verstanden haben die meisten von denen indes
nicht
>Wenn man sich mit MC beschäftigt will man die Dinger wohl auch>verstehen.
Genau das war die Frage.
Wenn man das Zusammenspiel vom Hardwareregistern, Interrups und
Verarbeitungslogik verstehen will, sind die alten MCs ideal. Man kann
die Assembler-Beispiele im Datenblatt 1:1 nach C umsetzen.
Die 32-Bit MCs haben so viele Register - Man findet im Datenblatt gar
keine vollständigen Assembler-Beispiele mehr. Man nimmt ein RTOS und
gewöhnt sich einen Stil wie in der PC-Programmierung an - Nur mehr die
Dokus für die Libraries lesen, die 1000 Details dahinter ignorieren.
Hallo Gemeinde
bevor es zu einem Konflikt zwischen den Lagern kommt, möchte etwas zum
ersten Start sagen. Leider kommt es bei einem Neuanfang zu sehr grossen
Problemen. Es gibt so viele Seiten im Netz. Jede beschreibt ein anderes
Board. Ob sie aus China kommen oder ein Clon sind, ob es Nachbau oder
das Ori ist, ist eigentlich fast schon egal. Es kommt drauf an, wie die
ersten Erklärungen sind, ob die Sache nachzuvollziehen sind und ob man
es versteht. Damit kommt auf die Autoren sehr viel Verantwortung zu. Die
Tut`s müssen so geschrieben werden, das man es versteht. Mit Bildern und
genauen Anleitungen beschrieben ist, die passenden Beispiel dazu,
Programme die laufen und komplett sind. Eine kostenlose Umgebung zählt
auch dazu. Wenn ich einige Sachen sehe, könnte ich kot... .
Ich bin nicht unschuldig. Wenn ich meine Fragen sehe, versteh ich Falk
und KH vollkommen. Die haben eine riesen Geduld mit mir.
Weil mir all die Produkte nicht gefallen haben, habe ich selber was
gemacht. Etwas was super erweitert werden kann, viele verschiedene Teile
hat, relativ billig ist und ständig erweiter wird.
achim
Ach was, den Konflikt müssen wir endlich mal klären.
Mühsam Assembler gelernt, in die Details von jedem Register
eingearbeitet. Und dann bekommt ein Anfänger auf nem Arduino mehr
zustande als ein echter Programmierer nach jahrelanger
Einarbeitungszeit.
Na und -- Ist doch noch lange keine Entschuldigung für dieses
Rumgepöbel.
(Hatte zu Z80 Zeiten noch jedes Register gekannt - für mich ist das die
gute alte Zeit. Wenn Heutzutage noch jemand so etwas antiquiertes lernt,
ist er selbst schuld.)
Noch einer schrieb:> (Hatte zu Z80 Zeiten noch jedes Register gekannt - für mich ist das die> gute alte Zeit. Wenn Heutzutage noch jemand so etwas antiquiertes lernt,> ist er selbst schuld.)
Sollen wir das, den letzten Satz, mal persönlich ausdiskutieren? Ganz
unter uns meine ich?
smöck
Dulfried schrieb:> Welche IDEs sind gängig und kostenlos?> Und habt ihr hier auf der Seite auch noch eine Tutorial zu diesem Board?> Oder kann ich mir jedes beliebige tutorial anschauen?
Das Internet ist voll von Jehova...ähm Arrduino.....auf arduino.cc
findet man alles was man braucht.
Nur, ich komme von den PIC, 10 Jahre lang in C programmiert, davor die
Z80 Maschinen. VERSTEHEN wird Du mit Arduino nichts, völlig wumpe was da
für eine CPU drunter ist, die sehen mit den Libs alle gleich aus.
Der Arduino ist vielen Cracks ein dorn im Auge, weil er sie vom heiligen
Thron stürzte dass nur die Cracks mit Studium wussten wie man mit uC
umgeht. Dass Schulkinder das jetzt machen wurmt die ganz schön :-)
Es dauert keine 10s nach Installation der IDE bis auf dem Ardu was
blinkt :-)
Noch einer schrieb:> Die 32-Bit MCs haben so viele Register - Man findet im Datenblatt gar> keine vollständigen Assembler-Beispiele mehr. Man nimmt ein RTOS und> gewöhnt sich einen Stil wie in der PC-Programmierung an
Dafür wurden sie auch konzipiert. Niemand der bei Trost ist programmiert
einen ARM in Assembler. Und in unserer Entwicklung, die High Tech
Produkte erzeugt gibt es auch niemanden, der ohne eine HAL (Low Level
HAL) arbeitet. Der ARM wäre nie so gut verkauft worden, wenn die
Hersteller nicht diese Fülle Docs und Hilfen dazu geschaffen hätten.
Christian J. schrieb:> Es dauert keine 10s nach Installation der IDE bis auf dem Ardu was> blinkt :-)
und dann steckt man noch ein shield auf und hat die ersten Erfolge und
wenn man sich pö a pö einliest kommt man weiter, zumal ein Arduino mit
32k (Uno für shields) noch übersichtlich ist. Später kann man immer noch
auf einen mega2560 gehen und noch später auf einen ARM.
Klar kann man gleich mit ARM einsteigen, warum auch nicht, mache ich
vielleicht wenn ich den m1284p oder m2560 ausgereizt habe :-)
An alle arduino Hasser: ich benutze selbst KEINE arduinos.
Allerdings erinnere ich mich noch an meinen holprigen Start.
Der Spagat zwischen Hardware- und Softwareproblemen ist ziemlich
schwierig.
Der arduino löst dieses indem er im allgemeinen direkt funktioniert und
auf keine pfuschereien am serialport angewiesen ist.
Wer jetzt sagt ein Arm könnte das auch, der soll sich mal den Preis vor
Augen halten. Gerade am Anfang ist man noch nicht zu so großen
Investitionen bereit.
Wenn man mal "angefixt" dann findet man ganz von allein seine Sparte.
Christian J. schrieb:> Der Arduino ist vielen Cracks ein dorn im Auge, weil er sie vom heiligen> Thron stürzte dass nur die Cracks mit Studium wussten wie man mit uC> umgeht. Dass Schulkinder das jetzt machen wurmt die ganz schön :-)
Quark!
Die Cracks sind die, die in den Lib's ihr Wissen für die Schulkinder
verpackt haben ;-) Ich halte Arduino dann für absolut sinnvoll wenn das
primäre Ziel die Entwicklung einer Embeded Solution ist und die
Programmierung des µC notwendiges Übel auf dem Weg zum Ziel. Wer das
ganze verstehen will lässt erst mal die Finger von Systemen mit zu hoher
Abstrahierung.
Ich möchte auch noch was in das Rennen werfen - PSoC.
Für mich ist das was man heute im Auge behalten sollte und interessante
Chip Konzepte haben die auch.
Einfach mal die Cypress Seite besuchen und ein paar Videos schauen und
einen eigenen Eindruck gewinnen.
http://video.cypress.com/video-library/video/PSoC
Max D. schrieb:> Der arduino löst dieses indem er im allgemeinen direkt funktioniert und> auf keine pfuschereien am serialport angewiesen ist.> Wer jetzt sagt ein Arm könnte das auch, der soll sich mal den Preis vor> Augen halten. Gerade am Anfang ist man noch nicht zu so großen> Investitionen bereit.
Nicht zu vergessen das man auf guten Arduino Klonen (z.B 2560) für ein
paar Euro aus China den Bootloader rausschmeißen kann und das Ding dann
wunderbar ohne den C++ Ballast programmieren kann, wenn man es denn kann
und hat keine Probleme mit der HW. Das sind dann sehr gute und extrem
preiswerte DevBoards.
Die meisten (nicht alle) die hier ständig mit ihren Arms ankommen sind
Angeber.
Thomas Holmes schrieb:> Das sind dann sehr gute und extrem> preiswerte DevBoards.
Das sage ich ja auch immer die ganze Zeit.
Aber sobald du "Arduino" sagst, flippen hier einige total aus.
Nochmal zu PSoC. Allein die Unterstützung ist schon toll. Habe gerade
den Dokumentenmanager runter geladen und bin begeistert.
Nicht mehr mühsam Dokumente suchen (obwohl Atmel in der letzten Zeit
viel getan hat) und die Software hält alles auf Stand.
Frank schrieb:> Für den leichten Einstieg empfehlen sich mit Sicherheit die Arduinos.> Sind extra für so was gemacht. Es gibt auch genügend Bücher etc wo viele> Beispiele enthalten sind.>> Der spätere Umstieg auf reines C ohne Bibs ist dann nicht zu extrem!> Ansonsten empfiehlt es sich auch C erst mal direkt auf dem PC zu lernen.> Vorteil ist die viel bessere Debugmöglichkeit und du brauchst erst mal> gar keine HW. Damit würde ich anfangen!
Ja, das klappt. Ich habe es auch so gemacht. Man kommt schnell zu
Ergebnissen, das motiviert. Allerdings kommmt man auch schnell an
Grenzen, das geht los, sobald man etwas mit Batterien betreiben will.
Als Testcompiler für den PC hab ich den hier genommen:
https://en.wikipedia.org/wiki/Dev-C%2B%2B
Der ist schön simpel und schell. Wenn ich C-Fragen klären muss, dann
nehm ich den noch heute ganz gerne.
Wichtig ist aber, rechtzeitig einen richtigen Controller zu nehmen,
sonst gehts dir dann wie einigen im Forum, die bei jeder Kleinigkeit
nach einer fertigen Lib krakeelen. Daher ist der Arduino hier nicht so
beiliebt.
Mein Arduino verstaubt inzwischen nur noch, ich hab einen PIC32MX250 auf
einem Breadboard inklusive GLCD, USB und Segger J-Link. Zum
Experimentieren und herumprobieren schlägt der den Adruino um
Lichtjahre, alleine schon wegen dem Debugger und der Leistung.
Lass dir aber hier keine Controllerfamilie aufschwatzen. Lerne erst
genug und entscheide selbst.
Dadurch, dass man den Arduino nachdem man aus den "Babyschuhen"
Arduino-IDE rausgewachsen ist einfach als AVR weiterbenutzen kann gibt
es eigtl. nichts was gegen ihn spricht.
Der große Vorteil bei AVR ist die offene Toolchain in Verbindung mit der
Einfachheit der Code-Erstellung.
Wenn man mit ARM eine offene TC haben will, dann frickelt man erstmal
nen halben Tag mit Startup und Linker-Scripten bis man das genau auf das
Szenario eingearbeitet hat (oder man man liefert sich halt einem
geschlossenen System auf "Gedeih und Verderb" aus).
Bei den stärkeren PICs (PIC24, dsPIC & PIC32) ist das nochmal düsterer,
da gibt es nichtmal eine frickelige 100% offene Toolchain und selbst der
gratis-compiler wird nach nem monat kastriert....
Noch einer schrieb:> Die 32-Bit MCs haben so viele Register - Man findet im Datenblatt gar> keine vollständigen Assembler-Beispiele mehr.
Bei den LPC ist selbstverständlich jedes Bit dokumentiert und die ARM
Assembler Doku im Anhang.
Christian J. schrieb:> Niemand der bei Trost ist programmiert einen ARM in Assembler.
- Definitive Guide to ARM Cortex-M3 and Cortex-M4 Processors (von ARM
selbst)
- Raspberry Pi Assembly Language Beginners
ARM Assembler ist deutlich einfacher als AVR, einfach mal versuchen ...
Max D. schrieb:> Der große Vorteil bei AVR ist die offene Toolchain in Verbindung mit der> Einfachheit der Code-Erstellung.
Wo ist da eine offene Toolchain? Und AVR ist nur dann "einfach" wenn man
es schon kann :-)
Lothar schrieb:> Wo ist da eine offene Toolchain?
avr-gcc mit gcc wie in "der GCC" andächtiges Schweigen ;)
Lothar schrieb:> Und AVR ist nur dann "einfach" wenn man> es schon kann :-)
Mal angenommen ich will als Anfänger bei einem AVR (nur mit offenen
Tools) eine LED blinken lassen.
Dann erstell ich in der IDE/Editor meiner Wahl ein neues Projekt/Datei
und #include da <avr/io.h> und <util/delay.h> .
Dann kommt in die main
1
DDRB|=(1<<PB5);
2
while(1){
3
PORTB|=(1<<PB5);
4
_delay_ms(500);
5
PORTB&=~(1<<PB5);
6
_delay_ms(500);
7
}
Dann compilieren "avr-gcc main.c -mmcu=atmega328 -DF_CPU=16000000UL -Os
-o main.elf" und hochladen mit avrdude (der liest seit 6.0.1 direkt elf
files).
Nennenswert einfacher wird das nur wenn man die ganzen Compiler-Schritte
in einer IDE versteckt.....
Max D. schrieb:> #include da <avr/io.h> und <util/delay.h>
Und jetzt mal dasselbe auf einem LPC800 mit gcc ganz ohne Includes nur
die Register im Datenblatt nachgesehen :-)
#define DIR0 0xA0002000
#define PIN0 0xA0002100
*((unsigned long *) DIR0) |= 1<<(5); // output
*((unsigned long *) PIN0) ^= 1<<(5); // toggle
Max D. schrieb:> avr-gcc mit gcc
Dachte schon Du meinst Atmel Studio :-)
Hallo Holger,
Holger schrieb:> Frank schrieb:> Tom schrieb:> Tom schrieb:> Tom schrieb:> Noch einer schrieb:> Max D. schrieb:>> Arduino>> Man es nervt!> Sobald hier ein Neuling eine Frage ähnlich der des TOs stellt, kommen> sofort die zig Leute der "Arduino-Fraktion" aus ihren "Löchern> gekrochen, stürzen sich wie Fliegen auf eine verdorbene Obsttorte auf> den Fragenden, und versuchen diesen zu bekehren.
Naja, das Arduino-Zeug ist preiswert, verfügbar, gut dokumentiert und es
funktioniert auch ohne Arduino-"IDE" ganz gut. Das vermeidet viele fiese
Fehlerquellen und verspricht schnelle erste Erfolge, insofern ist diese
Empfehlung gar nicht mal die Schlechteste.
> Für einen Einsteiger, ist es meines Erachtens, so vollkommen unmöglich,> einen neutralen Überblick über die gegebenen Möglichkeiten zu gewinnen,> da dieser den Eindruck bekommen muss, der Kauf eines dieser Arduino-> Dinger wäre der einzig gangbare Weg.> Anderweitig genannte Alternativen gehen unter, bzw. werden gar nicht> erst in Erwägung gezogen.
Statt hier herumzumeckern, hättest Du die Alternativen und ihre Vor- und
Nachteile darstellen oder wenigstens erklären können, warum Arduino nach
Deiner Meinung nicht so geeignet ist wie Alternative XY. Schade.
Liebe Grüße,
Karl
Holger schrieb:> Frank schrieb> Noch einer schrieb:>> Arduino>> Max D. schrieb:>> Arduino>> Man es nervt!> Sobald hier ein Neuling eine Frage ähnlich der des TOs stellt, kommen> sofort die zig Leute der "Arduino-Fraktion" aus ihren "Löchern> gekrochen, stürzen sich wie Fliegen auf eine verdorbene Obsttorte auf> den Fragenden, und versuchen diesen zu bekehren.
Besser als sie AVR-Freaks, die hier noch lange vor der ersten
Arduino-Erwähnung ihre Uralt-Architektur pushen mußten. Wohl aus Angst,
denn sie wissen ja auch genau, daß sie kein heutiger Anfänger mehr
anfaßt. Zu recht.
F. Fo schrieb:> Ich denke nicht, dass irgendjemand hier was aufschwatzen will. Der TO> fragte ja "womit anfangen" und das Forum hat Vorschläge gemacht.
Nein, niemals, doch nicht auf µC.net!!! Nie!!!!!11!!
Fakt ist, dass man die Architektur finden sollte, die einem persönlich
gefällt. Und dazu sollte man sich nicht auf Empfehlungen aus dem Forum
verlassen.
Und am besten sieht man sich außerhalb der hier empfohlenen Sachen um.
Es gibt noch TI, NXP, SILABS, Analog Devices, Nuvoton, Infineon,
Renesas, FCT, Freescale (noch) und andere, die mir gerade nicht
einfallen.
Außerdem muss man die Dinger ja nicht heiraten. Obwohl man bei den
STM32-Leuten hier den Eindruck hat, sie wären damit verheiratet. Wie
sonst könnte man erklären, dass man sich freiwillig CUBE oder die
Peripheral Lib antut...
F. Fo schrieb:> Ich möchte auch noch was in das Rennen werfen - PSoC.> Für mich ist das was man heute im Auge behalten sollte und interessante> Chip Konzepte haben die auch.
Hast du damit schon etwas gemacht? Ich denke nicht und dann sollte man
sich mit Empfehlungen (für Anfänger) zurück halten. :-(((
PSoc ist ist ein ganz anderes Konzept. Neben der CPU musst du dich in
die analoge Programmierung einarbeiten. Und die Frage nach dem Kern
stellt sich weiterhin: PSoC1, PSoC3, PSoC4 oder PSoC5?
Thomas Holmes schrieb:> Nicht zu vergessen das man auf guten Arduino Klonen (z.B 2560) für ein> paar Euro aus China den Bootloader rausschmeißen kann und das Ding dann> wunderbar ohne den C++ Ballast programmieren kann
Man kann sogar den Bootloader drin lassen und den µC trotzdem in nacktem
C programmieren. Warum sollte man auf den Bootloader verzichten? Der ist
nützlich und bietet sich geradezu an wenn eh schon ein
USB/Seriell-Wandler und ne USB-Buchse auf dem Board drauf ist.
Marc schrieb:> Besser als sie AVR-Freaks, die hier noch lange vor der ersten> Arduino-Erwähnung ihre Uralt-Architektur pushen mußten. Wohl aus Angst,> denn sie wissen ja auch genau, daß sie kein heutiger Anfänger mehr> anfaßt. Zu recht.
Anstatt zu erklären wieso AVR für den Einstieg nicht geeignet ist
und/oder eine Alternative aufzuzeigen wetterst du gegen die
Nutzergemeinde (also nichtmal die HW selbst). Fällt dir da was auf?
Lothar schrieb:> Und jetzt mal dasselbe auf einem LPC800 mit gcc ganz ohne Includes nur> die Register im Datenblatt nachgesehen :-)>> #define DIR0 0xA0002000> #define PIN0 0xA0002100>> *((unsigned long *) DIR0) |= 1<<(5); // output> *((unsigned long *) PIN0) ^= 1<<(5); // toggle
Das hier ist jetzt echtes Interesse meinerseits und kein
"Gegenargument": Hat der gcc inzwischen die Startup Codes und dgl.
eingebaut? Wäre nämlich ziemlich nice, hab selber noch ein paar LPC1114
rumfliegen :D
Also ich habe den AVR, seit der AT90S1200 erschienen ist, häufig und
gerne eingesetzt, aber diesen einem Neulinge, der ja wohl was für die
Zukunft lernen möchte, zu empfehlen - naja - schon etwas hanebüchend -
schau' dich besser bei den ARMs (ST, NXP, Atmel, ...) um!
WehOhWeh schrieb:> NXP, ..., Freescale (noch)
U.a. im ARM-Bereich dürfte es da etliche Überschneidungen geben und so
einiges gestrichen werden - und sicherlich nicht nur bei Freescale!
peter schrieb:> Ebay-Artikel Nr. 221606981761>> Ist dieses Teil für 5V oder 3,3V?
Da sich der TE auch dafür entschieden zu haben scheint!
Was braucht man als Software für dieses Teil um es zum Leben zu bringen?
Bitte keine Diskussion, Link und eine kleine Erklärung reicht.
Diskutiert wurde schon genug!
Danke
Ich bin selbst erst vor ca. 6 Wo in die Materie eingestiegen. Habe auch
div. Vorschläge zu versch. Plattformen erhalten und mich dann für die
Atmel AVRs entschieden. Habe mir einen Arduino Nano Clone bestellt, hier
http://arduino.cc/en/Main/Software die Arduino IDE heruntergeladen und
damit schnell Ergebnisse erzielt. Installation enthält X kommentierte
Beispiele für jeden denkbaren (Anfänger-)Anwendungsfall und wenn kein
spezielles IDE Beispiel verfügbar, findest Du mit Sicherheit eines im
Internet.
Ein Nano Clone kostet 6-8€ und die IDE ist kostenlos, somit kein Risiko.
Wenn Du dann etwas tiefer eingestiegen bist und z.B. Low Power Lösungen
realisieren willst, kannst Du den Arduino dann noch als Programmer (ISP)
nutzen und damit direkt den uC für 0,90-1,40€/Stck programmieren.
Max D. schrieb:> Hat der gcc inzwischen die Startup Codes und dgl.> eingebaut? Wäre nämlich ziemlich nice, hab selber noch ein paar LPC1114> rumfliegen :D
Das wäre ein reichlich ehrgeiziges Unterfangen die alle da einzupflegen
bei der schieren Anzahl unterschiedlicher ARM MCUs die es von allerlei
Herstellern so gibt. Aber zum Glück gibts ja praktisch immer vom
Hersteller die entsprechenden Dateien, Header, Linker-Scripts,
Demo-Projekte, etc. die man als Ausgangspunkt nehmen kann, oft findet
man auch simple minimal-Projekte im Netz für gängige MCUs die abgespeckt
sind bis auf das wirklich absolut notwendige Minimum, die eignen sich
hervorragend zum Tiefeinstieg from scratch.
http://www.mikrocontroller.net/link/ebay/221606981761
@ Matthias,@google
Das Teil mit der von euch angegebenen Software wird zum Leben erweckt.
Es soll eigentlich nur Lichttechnik auf Modellen steuern.
da ist der Preis von 5 Euro preiswert.
Es wird so wie es ist eingesetzt, können natürlich auch 10 werden.
> Und jetzt mal dasselbe auf einem LPC800 mit gcc ganz ohne Includes nur> die Register im Datenblatt nachgesehen :-)>> #define DIR0 0xA0002000> #define PIN0 0xA0002100>> *((unsigned long *) DIR0) |= 1<<(5); // output> *((unsigned long *) PIN0) ^= 1<<(5); // toggle
Du laberst Stuss, um nicht zu sagen großen Unfug.
Wenn ich das in eine C-Datei kippe und baue, funktioniert es trotzdem
nicht. Auch dann nicht, wenn ich es in eine Funktion stecke.
Wo ist die Vektortabelle?
Wo initialisierst du den Stack-Pointer?
Wo ist der Startup-Code?
Wo ist das Linkerscript?
Wie schnell taktet das Teil? Von welcher Quelle?
Und die Masterfrage: Funktioniert das auf jedem ARM, oder nur auf ganz
bestimmten?
Und nein, "aus den Beispielen kopieren" ist keine Lösung. Steht übrigens
z.B. in den Atollic-Scripts vom STM32 oben drin, dass man die NUR für
die eine Toolchain benutzen darf (Lizenz und so).
AVRist deutlich einfacher zum Laufen zu kriegen auf ner nackten
Hardware als ein ARM. Und wir nehmen die "guten" ARMs als Beispiele.
Versuche das mal mit irgendeinem China-ARM mit Cortex M3-Kern. Da
scheiterst du schon an den GPIOs.
S. R. schrieb:> Du laberst Stuss, um nicht zu sagen großen Unfug.
Eigentlich macht eine Antwort wenig Sinn, aber ...
S. R. schrieb:> Wo ist die Vektortabelle?
Solange nichts ausser der Reset auftritt, kann das Programm ab 0 über
den anderen Vektoren liegen. Ist wie beim 8051 ...
Natürlich erstellt man sich ansonsten einmalig (!) eine Vektortabelle
entsprechend Datenblatt und setzt dort die gewünschten Namen der
Interrupt-Handler rein, wo ist das Problem?
> Wo initialisierst du den Stack-Pointer?
Gar nicht, braucht es nicht wenn es nur main und keine lokalen Variablen
gibt.
Ansonsten im Datenblatt das Ende vom RAM - 1
> Wo ist der Startup-Code?
Braucht es hier (!) nicht, erste Instruktion bei 0 wird nach Reset
ausgeführt. Ansonsten siehe oben.
> Wo ist das Linkerscript?
Ohne Includes, hier (!) wird nichts gelinkt. Ansonsten trivial:
Anfang/Ende Flash und Anfang/Ende aller RAM-Blöcke aus dem Datenblatt
und man hat die Memory Map.
> Wie schnell taktet das Teil? Von welcher Quelle?
Ohne nichts startet der interne Oszillator mit der Default-Frequenz,
steht im Datenblatt, üblich sind 12 MHz
Ich nutze nur LPC habe aber gelesen das ist auch beim STM32 so.
Kruger schrieb:> Fo schrieb:>> Ich möchte auch noch was in das Rennen werfen - PSoC.>> Für mich ist das was man heute im Auge behalten sollte und interessante>> Chip Konzepte haben die auch.>> Hast du damit schon etwas gemacht? Ich denke nicht und dann sollte man> sich mit Empfehlungen (für Anfänger) zurück halten.
Nein, habe ich noch nicht, aber ich habe doch gar nicht gesagt, "Das
musst du machen!", sondern nur, dass PSoC auch interessant sein könnte.
Die Entwicklungsumgebung ist schon mal sehr interessant.
Leider habe ich erst später gemerkt, dass ich eigentlich sehr wenig mit
dem erworbenen PSoC4 anfangen kann und habe das noch nicht mal
ausgepackt. Warte noch auf was günstiges mit PSoC5.
Also, um das nochmal klar zu stellen, ich wollte keine Empfehlung für
Cypress abgeben, sondern nur sagen: "Schau mal, da gibt es auch was und
vielleicht ist das für dich interessant!"
Ich kann echt nicht nachvollziehen, was manche Atmel-Leute gegen Arduino
haben. Für mich ist es alles dasselbe.
Ja es gibt fertige Bibliotheken bei Arduino, ja wenn man nur die
benutzt, würde man wahrscheinlich nie Programmieren lernen. Es gibt aber
auch die Leute, die durch verschiedenen Beispiele lernen und die anderen
wollen eben mit der Technik spielen. Warum sollte man denen diesen
Wunsch verweigern?
Christian N. schrieb:> Ja es gibt fertige Bibliotheken bei Arduino, ja wenn man nur die
Es gibt auch Wörterbuch bei Duden. Abgesehen davon widerspricht
"Mikrocontroller-Programmierung selber beibringen" sämtlichen
Belehrungsversuchen.
Lothar schrieb:> Braucht es hier (!) nicht, erste Instruktion bei 0 wird nach Reset> ausgeführt.
Nein!
Bei null steht keinesfalls die erste Instruktion sondern die Adresse
der ersten Instruktion. Und bei 4 steht der initiale Stackpointer.
Und bei so chips wie dem Kinetis kommt bei 0x400 erst noch mal die flash
Konfig, Davor liegt ein meist ungenutztes Loch, danach erst das
Programm.
Also laber keinen solchen Unfug.
Bernd K. schrieb:> Bei null steht keinesfalls die erste Instruktion sondern die Adresse> der ersten Instruktion
Sorry habe hier abwechselnd beides vorliegen:
Cortex-M : Adresse der ersten Instruktion
Cortex-A/R : erste Instruktion
Lothar, in Hinblick auf die Summe Deiner "nurs" und Einschränkungen in
Deinem Beitrag, Du glaubst ernsthaft dass das für einen Anfänger genauso
einfach ist?
Christian N. schrieb:> Ja es gibt fertige Bibliotheken bei Arduino, ja wenn man nur die> benutzt, würde man wahrscheinlich nie Programmieren lernen. Es gibt aber> auch die Leute, die durch verschiedenen Beispiele lernen und die anderen> wollen eben mit der Technik spielen. Warum sollte man denen diesen> Wunsch verweigern?
Das Problem, dass viele mit den Arduino-Nutzern haben sind die "lauten
10%".
Jede Plattform die "einfach so" funktioniert zieht magisch einen
gewissen Schlag Leute an (quasi der "Apple-Effekt"). Diese angezogenen
Leute machen zwar zahlenmäßig nur einen kleinen Teil aus, aber sind halt
extrem extrovertiert in ihrer Meinung. Wer sich dieser Meinung nicht
beugt wird runtergemacht.
Damit wird aber der Ruf der anderen 90% verdorben die wiederrum
entsprechend harsch angegangen werden und defensiv-Positionen einnehmen.
Ein Teufelskreis.
Ich bemühe mich da eine etwas neutrale Position einzunehmen (bin selber
übrigens avr-gcc und eclipse-avr-plugin user).
Von diesem (hoffentlich) neutralen Standpunkt aus kann ich dem Arduino
die Eignung als Einstiegs-Plattform einfach nicht absprechen. Der
niedrige Preis und die gut funktionierende Hardware sind hier einfach
"killler-Features". Jeder der sich weiter in die Welt der Bits und Bytes
wagt der stößt unweigerlich auf die Grenzen des Systems und überwindet
die hoffentlich mit einer hardwarenäheren Toolchain (oder neuer
Hardware). Wer auf dem Level blinkender LEDs und einiger Texte auf dem
LCD zufrieden ist der wird sicher auch nur mit arduino glücklich.
Stefan schrieb:> Lothar, in Hinblick auf die Summe Deiner "nurs" und Einschränkungen in> Deinem Beitrag, Du glaubst ernsthaft dass das für einen Anfänger genauso> einfach ist?
Die Sache ist inzwischen etwas abgedriftet, aber der Anfänger hat doch
die Wahl zwischen Einstieg von oben mit fertiger IDE vom uC-Hersteller
der Wahl mit Beispielen Libraries Tutorials (dazu gehört sicher
Arduino, aber eben auch LPC/mbed oder LCPXpresso/gcc) und dem Einstieg
von unten mit Datenblatt gcc Startup-Code / Linker-Skripten ...
Ich wollte nur so pauschalen Aussagen entgegentreten:
Noch einer schrieb:> Die hardwarenahe Bitfummelei auf den AVRs. Und PC-artige Programmierung,> alles in Libraries verpackt auf den ARMsS. R. schrieb:> AVR ist deutlich einfacher zum Laufen zu kriegen auf ner nackten> Hardware als ein ARM
peter schrieb:> http://www.mikrocontroller.net/link/ebay/221606981761>> @ Matthias,@google>> Das Teil mit der von euch angegebenen Software wird zum Leben erweckt.> Es soll eigentlich nur Lichttechnik auf Modellen steuern.> da ist der Preis von 5 Euro preiswert.> Es wird so wie es ist eingesetzt, können natürlich auch 10 werden.
Was is's nun,geht das Teil oder nicht?
Das viele Wirrwarr von Meinungen ist nicht zu verstehen!
>> Wo ist die Vektortabelle?> Solange nichts ausser der Reset auftritt, kann das Programm ab 0 über> den anderen Vektoren liegen. Ist wie beim 8051 ...
Falsch. Das gibt entweder direkt einen HardFault, oder du führst
ungültigen Code aus, je nachdem ob das letzte Bit des zweiten Words
gesetzt ist oder nicht.
> Natürlich erstellt man sich ansonsten einmalig (!) eine Vektortabelle> entsprechend Datenblatt und setzt dort die gewünschten Namen der> Interrupt-Handler rein, wo ist das Problem?
Wo stand das in deinem tollen Code-Beispiel? Beim AVR braucht man das
nicht, weil der Compiler den Startup-Code integriert hat, und genau der
das größte Problem darstellt, um eine Plattform erstmalig zum Laufen zu
kriegen.
>> Wo initialisierst du den Stack-Pointer?> Gar nicht, braucht es nicht wenn es nur main und keine lokalen Variablen> gibt.
Stimmt. Damit startet dein Prozessor schonmal nicht, weil ab
Flash-Adresse null der initiale SP steht... und du da eine Instruktion
hingeschrieben hast. Damit ist dein Beispiel nichtmal lauffähig,
gratuliere.
> Ansonsten im Datenblatt das Ende vom RAM - 1
Aha. Das steht wo? Gibt's da Unterschiede zwischen LPC800, LPC1114,
STM32F100 und STM152L? Vordefinierte, überall verfügbare Konstanten
irgendwo?
>> Wo ist der Startup-Code?>> Braucht es hier (!) nicht, erste Instruktion bei 0 wird nach Reset> ausgeführt. Ansonsten siehe oben.
Falsch.
Flash-Adresse 0: initialer SP
Flash-Adresse 4: initialer PC
>> Wo ist das Linkerscript?> Ohne Includes, hier (!) wird nichts gelinkt.
Das heißt, main() liegt ab Adresse 0? Wunderbar, denn dort befindet sich
normalerweise kein Flash. Du solltest also tunlichst aufpassen, dass
dein Compiler relozierbaren Code erzeugt, da du ihn gerade an eine
ungültige Adresse gelinkt hast...
> Ansonsten trivial:> Anfang/Ende Flash und Anfang/Ende aller RAM-Blöcke aus dem Datenblatt> und man hat die Memory Map.
Die da wo wäre? Erneut, wo bei welchem Controller? Und wo steht das im
Datenblatt, und wo ist in deinem "Minimal-"Beispiel die Information, wie
man das macht?
>> Wie schnell taktet das Teil? Von welcher Quelle?>> Ohne nichts startet der interne Oszillator mit der Default-Frequenz,> steht im Datenblatt, üblich sind 12 MHz
Manchmal ja, manchmal nein.
Ein STM32L152 startet mit ~2 MHz, ein SAM3X mit ein paar kHz. Was das
für ein Oszillator ist, und ob da noch irgendwelche Teiler dabei sind,
hängt vom Chip ab. Auch das hast du nicht dazu geschrieben.
PS: Es ist ziemlicher Aufwand, den Clock-Tree im ST-Datenblatt soweit
auseinanderzufummeln, dass man die 2.048 MHz nachvollziehen kann.
Nochmal: Das ist anfängerfreundlich?
> Ich nutze nur LPC habe aber gelesen das ist auch beim STM32 so.
Da hast du falsch gelesen.
Lothar schrieb:> Die Sache ist inzwischen etwas abgedriftet, aber der Anfänger hat doch> die Wahl zwischen Einstieg von oben mit fertiger IDE vom uC-Hersteller> der Wahl mit Beispielen Libraries Tutorials (dazu gehört sicher> Arduino, aber eben auch LPC/mbed oder LCPXpresso/gcc) und dem Einstieg> von unten mit Datenblatt gcc Startup-Code / Linker-Skripten ...
Wenn der Anfänger keinen Arduino und keinen vorgekauten Code will, dann
muss er sich wohl oder übel mit der Toolchain befassen. Und die
vorgefertigten (GNU-kompatiblen) Startup-Scripte von ST darfst du nicht
legal für deine eigenen Projekte benutzen, solange du nicht die richtige
IDE benutzt. (Dass man das trotzdem kann, ist eine andere Sache.)
Und weder sind der Startup-Code und die Linkerscripte trivial, noch sind
sie leicht zu finden.
> Ich wollte nur so pauschalen Aussagen entgegentreten:>> S. R. schrieb:>> AVR ist deutlich einfacher zum Laufen zu kriegen auf ner nackten>> Hardware als ein ARM
Tja, und dabei hast du Unmengen Stuss erzählt. Und damit eigentlich
gezeigt, dass diese pauschalen Aussagen doch mehr Wahrheit beinhalten,
als du zugeben möchtest.
Auf einer nackten Hardware brauchst du für einen AVR:
- korrekt gesetzte Fuses (für Anfänger schwer genug)
- C-Datei
- korrekte Compilerparameter
alles andere wird vom avr-gcc mitgeliefert und ist problemfrei.
Und für einen ARM:
- funktionierendes Linkerscript (Hersteller/Datenblatt)
- funktionierenden Startup-Code (Hersteller/Datenblatt)
- CMSIS-Header mit den Registerbeschreibungen (Hersteller, nicht
zwingend aber empfehlenswert)
- C-Datei
- korrekte Compilerparameter
die ersten drei Punkte sind für Anfänger schlicht unmöglich selbst zu
erfüllen, und von Hersteller zu Hersteller sehr unterschiedlich. Finde
mal die CMSIS-Header von ST, nur so als Beispiel.
Da ist nix anfängerfreundlich. Wenn man sich da mal durchgebissen hat,
nachvollziehbar. Aber nix, wenn man in Hard- und Software auf einem
fremden Gebiet einsteigt, selbst wenn man schon fließend C kann.
WehOhWeh schrieb:> ich hab einen PIC32MX250 auf> einem Breadboard inklusive GLCD, USB und Segger J-Link
Nur aus Neugier: Warum nimmst Du einen J-Link statt dem Pickit3 ?
/regards
Andreas
S. R. schrieb:> Auf einer nackten Hardware brauchst du für einen AVR:> - korrekt gesetzte Fuses (für Anfänger schwer genug)
Genau das braucht man bei einem LPC nicht (ARM oder 8051), selbst wenn
der Anfänger es geschafft hat die PLL so zu setzen, das nichts mehr
läuft, kommt er immer noch mit dem ROM-UART-Bootloader rein. Dank
internem Oszillator muss man auch keinen externen dranhalten wie beim
AVR für die Rettung. Hier wurde noch kein einziger LPC gebrickt. Das hat
aber wieder nichts mit AVR oder ARM zu tun sondern mit dem Hersteller:
bei Atmel sind die 8051 und AVR gleich schnell verfused.
Hier wurde auch noch nie ein AVR "gebrickt".
(Und die Angabe mit dem Hersteller ist auch ungenau. Einen Atmel SAM3X
zu verfusen dürfte auch ziemlich schwierig sein.)
peter schrieb:>> http://www.mikrocontroller.net/link/ebay/221606981761>>>> @ Matthias,@google>>>> Das Teil mit der von euch angegebenen Software wird zum Leben erweckt.>> Es soll eigentlich nur Lichttechnik auf Modellen steuern.>> da ist der Preis von 5 Euro preiswert.>> Es wird so wie es ist eingesetzt, können natürlich auch 10 werden.>> Was is's nun,geht das Teil oder nicht?> Das viele Wirrwarr von Meinungen ist nicht zu verstehen!
Leute, ist Regen Nass?
Heute ist Montag?
Mein Hund hat Durchfall!
Ich bitte Euch,ist das Teil einfach Nutzbar.
Ist doch ein Bootslader drin?
Danke
peter schrieb:> Ich bitte Euch,ist das Teil einfach Nutzbar.> Ist doch ein Bootslader drin?
Ja, da ist ein Bootloader drin (zumindest war es bei meinem so).
Das Teil ist ein ganz normales Arduinomodul.
Ulli
Lothar schrieb:
Dank
> internem Oszillator muss man auch keinen externen dranhalten wie beim> AVR für die Rettung. Hier wurde noch kein einziger LPC gebrickt.
Das ist doch ein Argument aus dem letzten Jahrhundert!
Ich habe in den letzten 20 Jahren vielleicht 20 Projekte mit einem AVR
durchgezogen. Bin also kein Hardcore-Elektroniker (bin mehr
Modellbauer).
In der Zeit habe ich mich aus noch keinem einzigen ausgesperrt, obwohl
alle mit externem Quarz betrieben wurden.
Früher (TM) bedurfte es noch etwas mehr Konzentration beim Fuse setzen.
Heutzutage gibt es Fuserechner im Netz und HowTos und anständige
Software. Wer da noch die Fuses falsch setzt sollte sich ein anderes
Hobby suchen oder nicht so viel saufen.
Natürlich muss sich so mancher wundern, weshalb das mit den Fuses bei
den AVRs so gemacht wird.
Positiv ausgedrückt: Das ist der Charme alter Technologie.
Trotzdem zum Anfangen immer noch eine der besten Mikrocontroller.
Habe es vor langer Zeit mal mit PICs versucht. Da hatten mich die
(bessere?) Hardwarefeatures gelockt.
Damals habe ich noch in Assembler programmiert. Das ist jedoch bei den
PICs eine einzige Katastrophe!
Und PICs mit C kommt für mich nicht in Frage, da es keine ordentliche
kostenfreie Software gibt (oder gab?)
Ich kann den TO zu seiner Entscheidung nur beglückwünschen. Damit macht
er auf keinen Fall etwas falsch!
Ulli
Lothar schrieb:> Ich wollte nur so pauschalen Aussagen entgegentreten:> S. R. schrieb:>> AVR ist deutlich einfacher zum Laufen zu kriegen auf ner nackten>> Hardware als ein ARM
Da gibts nix entgegenzutreten, das ist und bleibt so, solange ARMs
Unmengen an Funktionen enthalten, die kein Hobbybastler und erst recht
kein Einsteiger je benötigen wird.
Das hier groß aufgeblasene Fuse-Problem hätte sich mit der Einführung
der Xmegas auch erledigt. 99% der typischen Bastlerprojekte kann man mit
der eingebauten, genauen, voreingestellten internen 2 MHz Takterzeugung
erledigen.
peter schrieb:> Ich bitte Euch,ist das Teil einfach Nutzbar.> Ist doch ein Bootslader drin?
Was regst Du Dich auf, wurde doch schon beantwortet.
Matthias schrieb:> Habe mir einen Arduino Nano Clone bestellt, hier> http://arduino.cc/en/Main/Software die Arduino IDE heruntergeladen und> damit schnell Ergebnisse erzielt.
Wenn man schnell Ergebnisse erzielen kann, wird das Teil wohl nutzbar
sein.
Allerdings bin ich wg. Stromverbrauch der Arduino Platine (Serial-USB
Wandler usw.) sehr schnell dazu übergangen, den Nano nur noch als ISP zu
nutzen und damit die Roh-Chips zu programmieren (mit der gleichen
Software).
Mit der Programmierplatine inkl. versch. Chip-Shields kann ich so die
versch. Roh-Chips ohne Umsteckerei direkt programmieren und testen.
@ Ulli (Gast)
>Früher (TM) bedurfte es noch etwas mehr Konzentration beim Fuse setzen.>Heutzutage gibt es Fuserechner im Netz und HowTos und anständige>Software. Wer da noch die Fuses falsch setzt sollte sich ein anderes>Hobby suchen oder nicht so viel saufen.
Oder schlicht und ergreifend einen ganz normalen Programmieradapter ala
AVR ISP MK II oder ähnlich mit AVR Studio & Co nutzen. Dort sind die
Fuses ohne dreimal umrechnen und fummeln direkt sichtbar. Und keiner
muss auf RSTDSBL clicken. Es gibt da sogar eine Warnung, wenn man es
doch tut. Und schon ist das Problem gelöst. Ich hab in meiner Bastler-
und Profikarriere bestenfalls 1-2 AVRs verfused. Und warum? Weil ich mit
einem Frickeladapter und Frickelsoftware die Fuses gesetzt hatte!
>Positiv ausgedrückt: Das ist der Charme alter Technologie.
Schau dir EEPROMs und Röhren an, die haben auch Charme!
>Trotzdem zum Anfangen immer noch eine der besten Mikrocontroller.
Yep!
Ohne Frage sind die "übersichtlichen" Controller für den Einstieg
einfacher.
Wer aber die Zusammenhänge von startup, linker usw. für den STM32 und
sicher auch andere ARM verstehen will, für den gibt es zum Beispiel so
etwas:
http://fun-tech.se/stm32/OlimexBlinky/mini.php
Hier im Abschnitt: 0x09 The mini example
ist alles super erklärt und man kann es leicht nachvollziehen und darauf
aufbauen. Damit kann man sich dem ARM schon sehr viel mutiger annähren.
hp-freund schrieb:> Wer aber die Zusammenhänge von startup, linker usw. für den STM32 und> sicher auch andere ARM verstehen will, für den gibt es zum Beispiel so> etwas:>> http://fun-tech.se/stm32/OlimexBlinky/mini.php
Das ist didaktisch wertvoll für den Einstieg! Besser geeignet als
tausend Arduino libs.
DIL24 schrieb:> AVR stirbt.
Du meinst so wie der
hp-freund schrieb:> Wer aber die Zusammenhänge von startup, linker usw. für den STM32 und> sicher auch andere ARM verstehen will, für den gibt es zum Beispiel so> etwas:>> http://fun-tech.se/stm32/OlimexBlinky/mini.php
Das ist ja ein cooles Projekt, aber ich denke einen blutigen Neuling
wird es bei der ganzen "__attribute__" und "section()" Orgie etwas
abschrecken.
Dazu kommt, dass eigtl. Null auf die Hardware eingegangen wird.
Eher geeignet für jemanden der schon mit Hintergrund umsteigt.
Für jemanden der noch nie einen µC aus der Nähe gesehen hat bleibt
arduino einfach Sieger. Wenn man für nen ARM ein ähnliches plug&play
system will, dann kostet das ein vielfaches. Gerade wenn man auf einem
OS arbeitet, dass nicht im Mittelalter feststeckt hust CDC-Treiber
hust, dann braucht man nichtmal eine feste Installation von irgendwas.