welcher Mikrocontroller für Hobbyist?

Oct 04, 2004 72 Replies

Lutz Schulze schrieb:

Full ACK, ich hab mich schon mit einigen Programmiersprachen rumgeschlagen (GFA-Basic,Q-Basic,Turbo-Pascal,Assembler) und "mußte" dann C lernen. Absolut kein Problem, ein paar Tage und du hast dich an den anderen Syntax gewöhnt. Eine Schnellreferenz um die Funktionen nachzuschlagen hilft ungemein. Wobei es auch Dinge gibt, die mir an C überhaupt nicht gefallen: x=5; (Zuweisung) x==5 (Vergleich) Da finde ich Pascal: x:=5; (Zuweisung) x=5 (Vergleich) viel schöner. Gruß Andy

Hallo Juergen,

Die meisten MSP430 arbeiten von 1.8V bis 3.6V.

Problematisch ist bei Spannungen von 3.6V und darunter eben die Ansteuerung von FET, zumindest von groesseren Exemplaren.

Gruesse, Joerg

formatting link

Juergen Hannappel wrote in news: snipped-for-privacy@lisa2.physik.uni-bonn.de:

Diese Spannungslevel braucht man ja erst in der nächsten Klasse, den ARM-Prozessoren. 2.5V kommen aus dem MSP430 mit ADC uebrigens schon heraus (Referenz mit wenigen mA belastbar).

Und mittlerweile kann man fast alles aussen drum herum auch in 3.3V bauen. Sogar Instrumentationsverstärker und Filter, DotLCD's usw.

M.

Bitte auf mwnews2@pentax.boerde.de antworten.

Andreas Weber schrieb:

formatting link

Dipl.-Ing. Tilmann Reh Autometer GmbH Siegen - Elektronik nach Maß. http://www.autometer.de

Georg Meister schrieb:

zent=20

=20

Hallo,

und wenn mal wirklich ein kleiner Programmteil schnell sein soll, dann=20 kann man genau diesen als Assemblerunterprogramm schreiben.

Bye

Georg Meister schrieb:

Übersichtlichen Code kann man auch in Assembler schreiben, Kraut&Rüben auch in C.

Gruß Dieter

Uwe Hercksen schrieb:

Wobei das auch ganz schoen frustrierend sein kann. Ich habe das mal gegen einen Keil-C51 fuer eine Routine die eine CAN-Nachricht in einen Ringpuffer verraeumt ausprobiert. Das Ende vom Lied war dass ich je nach Compilereinstellung entweder mehr Code (ich denke es waren 2 Byte) oder mehr Zyklen gebraucht habe. Die Unterschiede waren jedenfalls derart minimal dass ich seitdem nurmehr ab und zu den Output dieses Compilers auf Plausibiltaet pruefe. Bei anderen Compilern mag das durchaus anders sein. Bei zeitkritischen Sachen sollte man sich halt den generierten Assemblercode anschauen und dann entscheiden ob man es mit der Hand besser hinkriegt. Die Codegroesse ist bei kleinen Stueckzahlen sowieso irrelevant, ausser man hat nur 1024 Byte Flash von denen man 1027 braeuchte. Aber dann hat man sowieso ein Problem.

Gruss Markus

Dieter Wiedmann schrieb:

Natürlich. Dennoch nimmt Dir C fehleranfällige Konstrukte halt ab wie ,,wenn das Sprungziel jetzt mehr als 64 Bytes entfernt ist, nimm als übernächsten Befehl einen RJMP und überspringe diesen mit einem SBRS mittels negierter Logik bei Bedarf'' mit all ihren Knoten, die man dabei im Gehirn bekommen kann.

Jörg Wunsch "Verwende Perl. Shell will man können, dann aber nicht verwenden." Kristian Köhntopp, de.comp.os.unix.misc

Dieter Wiedmann schrieb:

Ack. Und leider wird in C auch sehr häufig "Kraut&Rüben" programmiert. Wenn solcher Code dann (Jahre) später von einem anderen Programmierer gepflegt oder weiterentwickelt werden soll, ist die Verwendung von C kein Vorteil mehr.

(In dieser Beziehung ist Pascal mit seinen Restriktionen erheblich besser - aber eben nicht so "hip" wie C.)

Ein ehemaliger Kollege an der Uni prägte den Merksatz: ein /guter/ C-Programmierer hat vorher Pascal programmiert. Da ist was dran: dann stimmen wenigstens die Strukturen und Methoden.

Es gibt übrigens auch Pascal-Compiler für Mikrocontroller, zumindest für MCS-51 kenne ich zwei. Allerdings sind die nicht so gut entwickelt wie die aktuellen C-Compiler...

Dipl.-Ing. Tilmann Reh Autometer GmbH Siegen - Elektronik nach Maß. http://www.autometer.de

Markus Mandl schrieb:

=20

Hallo,

genau, dem generierten Assemblercode kann man das ganz gut ansehen wenn=20 etwas einsparbar ist und man hat auch gleich ein Ger=FCst f=FCr das eigen= e=20 Assemblerprogramm.

Bye

Hallo Uwe,

Solange nicht eine der C Routinen Murks macht und das Aufrufen der Inline-Assembler Routine haengenbleibt. Das habe ich leider schon oft gesehen und auch schon mal auf einer Neuerstellung in 100% Assembler bestanden. Das gab boese Blicke, aber danach lief alles sauber.

Die Erhoehung der Zuverlaessigkeit aufs Zehnfache kann ich so nicht bestaetigen.

Gruesse, Joerg

formatting link

Hi!

Yepp. Als ich mit C anfing, hatte ich auch so meine Bedenken, immerhin gibts angeblich Wettbewerbe, in denen es darum geht, möglichst so kryptische Fünfzeiler zu schreiben, daß niemand nachvollziehen kann, was das Programm tut. :-)

So muss man aber nicht programmieren. Man kann in C genauso schreiben wie in Pascal auch, mit der gleichen Struktur und den gleichen Befehlen - bloß daß sie halt hier und da anders heißen.

Gruß, Michael.

Vielleicht hätte ja die Benutzung eines vernünftigen Compilers sowohl korrekten Code gemeinsam mit einer effektiveren Erstellung ergeben? ;-)

Wenn der Compiler natürlich Mist macht, braucht man ihn auch nicht zu nehmen.

J"org Wunsch Unix support engineer Wir stellen aus! Auf der SYSTEMS 2004 vom 18.-22. Oktober in München Halle B 3, Stand 320-206 (Partner-Stand von Sun Microsystems) Halle B 2, Stand 605 "Die Musterfirma"

,,Mittlerweile'' ist gut. Den IOCCC gibt's schon sehr lange.

formatting link
meint, daß das 1984 anfing...

J"org Wunsch Unix support engineer Wir stellen aus! Auf der SYSTEMS 2004 vom 18.-22. Oktober in München Halle B 3, Stand 320-206 (Partner-Stand von Sun Microsystems) Halle B 2, Stand 605 "Die Musterfirma"

Hmm... C und "übersichtlich" ist IMO ein Widerspruch in sich.

Volker

Im uebrigen bin ich der Meinung, das TCPA verhindert werden muss.

Auch nett sind einige Konstrukte, die mit der Kurznotation für Inkrement/Dekrement möglich sind:

i = 0; i = i++;

Volker

Im uebrigen bin ich der Meinung, das TCPA verhindert werden muss.

Hallo Joerg,

Das war schon etwas ordentliches, sogar aus deutschen Landen. Archimedes auf 89C51. Die Software Ingenieure waren auch gut. Aber je komplizierter eine Sache wird, desto eher koennen sich Ungereimtheiten einschleichen. Assembler ist eben simpler. Ist schon arg lange her, aber ich erinnere mich dunkel, dass der erste Aerger losging, als wir den C51 per PCON in den Winterschlaf schicken und dann kontrolliert wieder aufwachen lassen mussten.

Am Rande: Es gibt hier in USA viel Software aus Deutschland und sie hat einen guten Ruf. Sogar mein FTP Programm kommt aus Reinheim und es ist das beste, was ich je hatte. Lustig ist das immer, wenn mal ein ungewoehnlicher Aufhaenger bei deutscher SW passiert und eine Fehlermeldung in deutsch auftaucht. Einmal war es eindeutig sueddeutsch ;-)

Gruesse, Joerg

formatting link

Vor allem, weil "if (a = 0)" kein illegaler Ausdruck ist, sondern immer brav mit "true" ausgewertet wird, weil ja "a" auf

0 gesetzt wird...

Geht auch kürzer:

i = 0; i++;

Wobei ich sagen muß, daß eines der wenigen Dinge ist, die ich an C schöner finde als an Pascal. An diese Kurzschreibweise (kombiniert mit "++i" bzw. "--i") kann man sich bei "Scleifengewurschtel" IMO gewöhnen.

Tschüs,

Sebastian

http://www.baumaschinen-modelle.net Neu: Schwerlast-FAQ

Volker Neurath spoke thusly:

IMHO nicht, wenn man's übersichtlich schreibt. (Also à la Pascal. :-) )

Tschüs,

Sebastian

http://www.baumaschinen-modelle.net Neu: Schwerlast-FAQ

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required