Forum: Mikrocontroller und Digitale Elektronik Arduino mit ARM?


von Steff (Gast)


Lesenswert?

Hallo,

muss mal bischen Frust ablassen..

Ich programmiere seit langem die 8 Bit AVRs in Assembler, gelegentlich 
mal was in Bascom.
Zig Anläufe mit C hab ich hinter mir. Mich kotzt es an, dass ich dieses 
dämliche Zeichengeraffel in C und den Klammersalat nicht in meinen Kopf 
bekomme. Irgendwie schreckt mich dieser Wirrwar immer wieder aufs neue 
ab. Das C-Buch von B. Mann liegt immer unterm Kopfkissen, schläft sich 
prima darüber ein ;-(

Warum schreibe ich das...
Die Welt ist ja ja nicht beim ATMEGA32 stehen geblieben. Ohne C bleibt 
mir der Zugang ganzen tollen und viel leistungsfähigeren ARM Cortex CPU 
verschlossen. In Assembler bricht man sich einen ab damit...

Hab in CooCox die einfachen Hallo-Welt-ich-blinke-Beispiele angeschaut 
und darinn rumgefurwerkt. Gefühlte 1000 Zeilen Code für ein läppiges 
Portpingezappel...entmutigend.

Und schnell mal ein LCD an den Cortex M4 und was sinnvolles anzeigen - 
is auch nicht. Klappt mit AVR dagegen in ein paar Minuten.

Wäre es nicht toll, so eine vorgefertigte Umgebung wie z.B. Arduino auch 
für ARM Kerne zu schaffen?

Oder wie bekomme ich endlich C und C++ in mein Hirn!? Die Tutorien kenne 
ich. Bringen mir nichts. Viele fangen mit Bit und 1 und 0 an, hören mit 
Byte, Integer und Register auf. Ja, soviel weiß ich auch schon. 
Irgendwie symptomatisch.

So, jetzt geht´s mir besser ~(!(?)~&/{bäääh}:-)

Stefan

von Stefan (Gast)


Lesenswert?

> Wäre es nicht toll, so eine vorgefertigte Umgebung wie z.B. #
> Arduino auch für ARM Kerne zu schaffen?

Gibts doch, unter dem Namen Raspberry Pi.

von tux (Gast)


Lesenswert?


von Tom (Gast)


Lesenswert?

nimm Pascal und alles ght und steht Dur offen ganz ohne Frußt.
Nachteile, ich hatte bweußt noch keine, außer der kleineren 
Community...dafür benötigst Du aber auch viel weniger support, dadurch 
hebt sich das auch wieder auf.
spätestens wenn du mit dem rest endlich klar kommts merkst du bei der 
fehlersuche..das c kacke ist, für mal eben..
pascal ist nicht wirklich komplizierter als bsic aber bietet erheblich! 
mehr möglichkeiten

von Frank K. (fchk)


Lesenswert?

Steff schrieb:

> Wäre es nicht toll, so eine vorgefertigte Umgebung wie z.B. Arduino auch
> für ARM Kerne zu schaffen?

Gibts doch:

http://arduino.cc/en/Main/ArduinoBoardDue

Und für MIPS:

http://www.digilentinc.com/Products/Detail.cfm?Prod=CHIPKIT-MAX32

fchk

von Steff (Gast)


Lesenswert?

Danke, den Duo kannte ich nicht :-)

Dann bleibt mir ja nur noch eine Sorge ~()!{  :C

Pascal, hab ich schon mal gehört.. Nur Pascal für µC und dann noch ARM.. 
noch nichts davon gehört..

Steff

von Tom (Gast)


Lesenswert?

gibts genug..unter anderem von Mikroe
Für Atmel gibts erheblich mehr Pascal Derivate
Mittlweweile sind die Compiler von Mikroe nicht schlecht
www.mikroe.com

von Tom (Gast)


Lesenswert?

ach ja, und die Software hat Wertsteigerungspotential. Wird JEDES Jahr 
teuere..aber nach dem Kauf hat man Lebenslang kostenlose 
Updates...noch..!!

von W.S. (Gast)


Lesenswert?

Steff schrieb:
> dieses
> dämliche Zeichengeraffel in C..

Naja, im Grunde hast du ja vollkommen Recht.

C ist eine Mißgeburt deswegen, weil man versucht hatte, mit möglichst 
wenig echten Schlüsselwörtern auszukommen. Stattdessen hat man dann eine 
mindestens genauso große Anzahl von Kombinationen aus Sonderzeichen sich 
ausgedacht - nach meiner Meinung eine Fehlentscheidung.

Allerdings kann man - wenn man es nur will - auch in C relativ sauber 
und leserlich programmieren. Das wirst du allerdings in den allermeisten 
Quellen, die irgendein selbsternannter C-Spezi als leuchtendes Beispiel 
geschrieben hat, NICHT finden. Die Mentalität von C-Leuten ist halt so, 
daß sie das unleserlichste und verschrobenste für das allerbeste halten.

Deshalb war der Rat, die Sache mit Pascal anzugehen, gar nicht so 
schlecht. Es ist bloß so, daß es für die wenigen Pascal-Compiler, die 
mir mal begegnet sind, keine Freeware-Version gibt. Natürlich kann man 
auch den Freepascal-Arm-Compiler benutzen, aber eben nur für 
Anwendungen, die auf Windows CE oder Arm-Linux laufen. Eine "bare 
metal"- Version (also für Anwendungen auf einem µC ohne Betriebssystem) 
gibt es derzeit noch nicht. Soll aber mal kommen. ( bloß wann?)

Noch ein Rat für C: Du kannst dir selbst so einige Ersetzungen 
schreiben, die dir den Text leserlicher machen. Beispiel:
#define XOR  ^
#define AND  &
#define MOD  %
#define OR   |
Das geht, aber es hat auch seine Haken, die daraus herkommen, daß es 
idiotischerweise in C keinen Boolean Typ gibt. Genau deshalb müssen die 
C-Programmierer zu der Krücke greifen, mehrere Sorten von eigentlich 
logisch gleichen logischen Operatoren zu benutzen. Beispiel:
y = a & b;
versus
y = a && b;
Gäbe es nen Boolean Typ, dann wäre dieser Mumpitz überflüssig, aber wahr 
und falsch wird hier eben durch nichtnull oder null eines integers 
definiert und so muß zwischen bitweise und logisch unterschieden werden.

Ansonsten kannst du getrost auf alle for Anweisungen, den ? Operator, 
continue und manchmal auch auf break verzichten. Das meiste Zeug dieser 
Art wurde erfunden, als die Programmierer noch glaubten, schlecht 
designeten Code besser optimieren zu können als der Compiler (der war 
anfangs wirklich strunzdumm und simpel) - aber das gilt heute nicht 
mehr. Auch das Benutzen lokaler Zwischenvariablen macht die Quellen 
leserlicher ohne den Code zu verschlechtern - dank ausgefeilter 
Compileroptimierungen.

W.S.

von Joachim .. (joachim_01)


Lesenswert?

Was für ein Gebashe und Gejammer.

Ich hab hier zwei Arduino DUE rumliegen, bei mir funktioniert ein 
kleines CAN Netzwerk, I2C mit nem wilden Display, Seriell und alles in C 
(ich mag die Arduino IDE nicht). Einmal die ASF von Atmel geladen, die 
Duzenden von Code Examples mit nem klaren Kopf angeschaut und der Cortex 
läuft wie dumm.

http://imageshack.com/i/jnglhnj

von Tom (Gast)


Lesenswert?

mein Held träum

Nein, im Ernat, es hat ja niemand behauptet das es nicht gehen würde, 
nur das es Mißt ist :-)

von Frank K. (fchk)


Lesenswert?

Hmm ... ich habe die C-Aversion schon bei einigen Leuten in meinem 
Umfeld gesehen, kann sie aber nicht verstehen. Ich habe selber zuerst 
Turbo Pascal unter CP/M gelernt, C kam erst später zu Amiga-Zeiten 
(daran sieht man, dass ich in den frühen 80'ern angefangen habe).

Ob ich jetzt := und = oder = und == schreibe, ist doch eigentlich egal.
Und ob es begin und end oder { } heißt, auch. Sonderzeichen verdienen 
keine Hochachtung, lass Dich davon nicht abschrecken. Wer das eine kann, 
kann das andere auch, das Prinzip ist das gleiche. Wenn Du den 
Formalismus und die Herangehensweise verstanden hast, macht es keinen 
großen Unterschied mehr, ob Du nun C, Java, C#, oder perl vor Dir hast. 
Natürlich sind die Feinheiten jeweils anders, aber ich denke, das 
Problem ist bei Dir die generelle Denkweise.

Vielleicht hilft es Dir, erstmal auf dem PC mit was auch immer warm zu 
werden. Da fällt die Schwierigkeit der anderen Hardware weg. Ansonsten 
hilft nur Geduld, kleine Projektchen, Copy&Paste und Übung Übung Übung.

fchk

von W.S. (Gast)


Lesenswert?

Frank K. schrieb:
> Vielleicht hilft es Dir, erstmal..

Naja.. Eigentlich ist der Kern dieser Diskussion etwas anders gelagert.

Die Technik soll(te) dem Menschen dienen und nicht der Mensch der 
Technik. Da fragt man sich schon nach dem Warum, wenn es um 
Programmiersprachen geht - und man sollte auch den Überblick sich 
bewahren (oder erwerben) und die verschiedenen Programmiersprachen in 
ihren Möglichkeiten, Grenzen und Beschränkungen sachlich einschätzen 
können.

Frank K. schrieb:
> kann sie aber nicht verstehen.

Tja, das wiederum kann ich mir nur auf eine Weise erklären, die dir 
garnicht gefallen würde. Ich kann die C-Aversion sehr wohl verstehen. 
Ich kann natürlich auch := bzw = schreiben - und all das, was du 
angeführt hast ist mir ebenfalls geläufig, aber das verkleistert mit 
nicht den objektiven und kritischen Blick auf das Werkzeug C - nur 
Fanboys sehen "ihr" Ding mit der rosaroten Brille (egal worum es sich 
handelt). Schau dich mal in diesem Forum um und du wirst massenweise 
Beiträge sehen, wo Leute mit C nicht gut zurechtkommen. Ist das nicht 
Hinweis genug? Wie gesagt, eigentlich sollte die Maschine dm Menschen 
dienen und nicht umgekehrt - was eben auch für Programmiersprachen gilt.

So, und nun Gut Nacht, ich hol mir noch nen guten Tropfen aus dem 
Keller...

W.S.

von holger (Gast)


Lesenswert?

>Schau dich mal in diesem Forum um und du wirst massenweise
>Beiträge sehen, wo Leute mit C nicht gut zurechtkommen.

Die kommen damit nicht zurecht weil es in der Regel
Copy and Paste Programmierer sind. Wenn man nicht bereit
ist viel Zeit zu investieren um programmieren zu lernen
wird das auch mit Pascal oder Java nix.

Auch die umfangreichsten Libraries nützen nix wenn die
Jungs ihr Handwerk nicht lernen wollen.

von spess53 (Gast)


Lesenswert?

Hi

>Auch die umfangreichsten Libraries nützen nix wenn die
>Jungs ihr Handwerk nicht lernen wollen.

Ohne fertige Libraries ist 99% der 32 Bit-Gemeinde eh hoffnungslos 
aufgeschmissen.

MfG Spess

von Steff (Gast)


Lesenswert?

Ich hab in den 90gern Z80-ASM gelernt, mit direktem Bezug zum 
Maschinencode, mag die schlichte und vor allem mechanisch-logische 
Struktur von ASM. Nur leider, so glaube ich, komme ich bei den ARM an 
meine Grenzen, oder überhaupt ist es nicht besonders sinnvoll, diese 
Prozessoren in ASM zu proggen (was nicht heißt, dass es nicht geht).

Wer in C groß geworden ist, gelernt hat, in C zu denken, der kann sich 
niemals vorstellen, dass man eben an C nicht so leicht rankommt, dass es 
was furchtbar abschreckendes an sich hat. Und das selbst für technisch 
affine Gemüter.
Geht mir übrigens genau so, wenn ich gelegentlich lese, dass ASM 
"schwer" ist. Nein, ist das leichteste auf der Welt, wenn man sich klar 
gemacht hat,  wie die CPU arbeitet.

Ich beneide diese Spezie darum!
Und den ach-so-tollen und bis aufs letzte optimierten C Code kann das 
menschliche Gehirn nun mal nicht verarbeiten.

Ja, ich kenne die Struktur nicht, weiß nicht, wie C tickt. Möchte gern 
dahinter steigen, Rest sagte ich schon....

Auf keinen Fall möchte ich C schlecht reden!! Wenn ich sehe, was alles 
damit möglich ist, dann werde ich ganz neidisch..

Danke für den Tipp mit Pascal und den Due. Wie hoch ist den die 
"Ballast" (overhead), den der Compiler verursacht?


Steff

von Stefan (Gast)


Lesenswert?

spess53 schrieb:
>>Auch die umfangreichsten Libraries nützen nix wenn die
>>Jungs ihr Handwerk nicht lernen wollen.
>
> Ohne fertige Libraries ist 99% der 32 Bit-Gemeinde eh hoffnungslos
> aufgeschmissen.

Ohne Beispiele ist die Aussage etwas dünn. Welche Libraries meinst du?

von Frank K. (fchk)


Lesenswert?

Steff schrieb:
> Ich hab in den 90gern Z80-ASM gelernt, mit direktem Bezug zum
> Maschinencode,

Ja, kenne ich. Ich war ein Jahrzehnt früher an dieser Stelle. Damals 
konnte ich im Kopf assemblieren und direkt Hexcode eintippen. Der 
Rechner hatte nämlich im Monitor einen Disassembler, aber keinen 
Assembler. Den Disassembler brauchte ich nur, um zu schauen, ob ich mich 
bei den Sprüngen nicht verrechnet hatte.

> Wer in C groß geworden ist, gelernt hat, in C zu denken, der kann sich
> niemals vorstellen, dass man eben an C nicht so leicht rankommt, dass es
> was furchtbar abschreckendes an sich hat. Und das selbst für technisch
> affine Gemüter.

Bei mir ging es auch nicht einfach so von heute auf morgen. Wenn ich 
daran zurückdenke, waren meine Hauptprobleme
- der *() (Inhalt von) und &() (Adresse von) Operator, das hatte ich in 
Pascal so nicht.
- der Unterschied zwischen Deklaration (dem Compiler sagen, dass es eine 
Funktion f(a,b,c) gibt) und Definition (der eigentliche Programmcode für 
f(a,b,c))
- der Präprozessor mit #include, #ifdef #endif usw, der mit dem Compiler 
ja überhaupt gar nichts zu tut hat, sondern eine Art automatische 
Textzusammenstellung ist, die vor dem eigentlichen Compiliervorgang 
stattfindet. Man kann sich auch den Quelltext, den der Präprozessor dem 
Compiler gibt, ausgeben lassen und sieht dann, was der eigentlich so 
alles compiliert.
- die Unterteilung zwischen Compiler und Linker, *.o, *.lib und den 
Bibliotheken. Mein Turbo-Pascal vorher hat das alles automatisch 
gemacht.

Manchmal habe ich mir auch Assembler-Quellcode generieren lassen, um zu 
sehen, ob mein C-Code das macht, was er soll.

Das ganze hat ein paar Jahre gebraucht, und irgendwann habe ich auch auf 
dem PC nur noch C gemacht. Das war so Anfang der 90'er als OS/2 2.0 
rauskam. Da habe ich mir dann zuerst den Watcom Compiler gekauft, und 
später dann den IBM Visual Age für OS/2. Mann, damals war Software noch 
richtig schwer, mit einem halben Meter Papierware dazu.

> Ich beneide diese Spezie darum!

Alles Übung. Nur Geduld, dann geht das schon. Auch bei Dir.

fchk

von Tom (Gast)


Lesenswert?

lad Dir einfach mal die Pascal Version runter, bis 4 oder 8KB ist die ja 
frei..leider etwas wenig, ich weiß.
Leider sind noch viele mitgelieferte beispiele für 8bit, zumindest für 
die Displayansteuerung, aaaber wenn Du Dir dann VisualTFT runterlädst, 
das erstellt dir alles fürs TFT euch eigene Fonts etc pp.
Dort siehst Du dann, wie das Display angesteuert wird, dann kannst Du 
dann direkt übernehmen.
Mikroe kann ich mittlerweile sogar empfehlen, anfangs wa res furchtbar 
fehlerhaft.
Durch mikroe ist der Wechsel zwischen c und Pascal jederzeit möglich!
Den Quelltext für das eine oder andere anzpassen ist kein großes Ding.
Ich habe mich aber entscheiedn bei PAscal zu bleiben, weil viel weniger 
Fehler beim deklarieren von Varialen etc passieren könnne wo man sich 
inC nen Wolf sucht !! und schnell die Lust verliert.
Den ganzen Stress mit falschen Adress oder Spreicherzuweisungen gibts in 
PAscal nicht, darum kümmert sich nämlich der Compiler! und man kann sich 
so voll und ganz auf das Ergebnis konzentrieren..wenn Du aber das 
Programmieren an sich als Hobbie haben willst, ohne festes Ziel, bist Du 
bei C richtig, dann kannst Du dich immer nen Keks freuen wenn wieder was 
funktioniert..
Während der Typ in Pascal bereits weitesgehend abgeschlossen hat...hehe

von Tom (Gast)


Lesenswert?

hach ja...OS/2....träum...hat leider nicht sollen sein

von old man (Gast)


Lesenswert?

spess53 schrieb:
> Ohne fertige Libraries ist 99% der 32 Bit-Gemeinde eh hoffnungslos
> aufgeschmissen.

Abgesehen davon dass die Aussage selbst falsch ist, frage ich mich was 
das mir 32bit zu tun hat. Bei 8-bittern werden genau so viel Libs 
verwendet wenn es welche gibt.

Ein Cortex M braucht zum arbeiten erst mal nur die Vectortabelle und den 
Resethandler. Das Geraffel mit den Fuses gibts hier nicht. Wenn aber 3 
verschiedenen Oszillatoren und 2 PLLs zur Verfügung stehen und die Takte 
auch noch über die internen Busse verteilt und an- bzw. ausgeschaltet 
werden sollen, setzt das voraus, dass man zumindestens den Teil der Doku 
seines µC gelesen und verstanden haben sollte. Das sind bis dahin nur 
Registerzuweisungen. Das sollte in allen Programmiersprachen fast 
identisch sein. Aber mal ehrlich, wer zieht sich das am Anfang wirklich 
komplett rein und versteht auch alles? Die die jetzt darüber schimpfen 
jedenfalls nicht. Die sind dann nur der Meinung, dass ein 32bit µC so 
unendlich kompliziert zu programmieren ist...
Dass die heutigen Cortexe wesentlich mehr und komplexere Peripherie 
beinhalten als etwa ein Tiny25 ist nun mal so. Da kann die Verwendung 
nur schlecht einfacher werden.
Bei den gängigen Entwicklungsumgebungen wird ein Teil der 
Grundkonfiguration zu einem neuen Projekt schon mit hinzugefügt. Dass 
dieser Code mitunter schwer zu verstehen ist liegt in der Natur der 
Sache. Wenn etwas an allen Ecken universell sein soll wird es 
automatisch komplexer.
Eigentlich hat man nur 2 Möglichkeiten. Wenn man seinen µC beherrschen 
will muss man ihn kennen. Bis aufs letzte Register was für den 
Anwendungsfall eine Roll spielt. Ober man lässt sich beherrschen und 
verwendet einen vorgefertigten Baukasten wie Arduino oder die Teile mit 
JS-Interpreter, oder Basic. Da sind die Teile die es am Anfang schwer 
machen schön versteckt und man programmiert nur auf der Ebene die der 
Herstelle dafür vorgesehen hat. Für die erste Variante kommt bei 
heutigen 32bittern nur C/C++ in Frage, bei der 2. ist alles möglich.

Natürlich geht es oft nicht ohne Libs. Beispielhaft TCP/IP. Hier 
existieren weltweit nur gefühlte 3 Implementierungen auf µCs. Alle in C. 
Und wenn die Pascal/Basic/JS oder was weiß ich Entwicklungsumgebung 
TCP/IP anbietet, dann steckt garantiert einer dieser OpenSource 
C-Implementierungen dahinter. Wenn man auf diese Ebene will gibt es 
keine Alternative.

von Tom (Gast)


Lesenswert?

"will gibt es keine Alternative."
so, und warum?
was spricht dagegen es einfach neu in Pascal zu machen?
Im Grundegenommen ist es doche infach nur egal, wenn es eine fertige Lib 
gibt, wird diese natürlich weiterhin überall verwendet wenn diese gut 
läuft, warum sollte ich das Rad neu erfinden?!?

Steht doch jeden frei seine eigene Lib in Pascal zu schreiben, ganz ohne 
C

von old man (Gast)


Lesenswert?

Tom schrieb:
> "will gibt es keine Alternative."
> so, und warum?
> was spricht dagegen es einfach neu in Pascal zu machen?
> Im Grundegenommen ist es doche infach nur egal, wenn es eine fertige Lib
> gibt, wird diese natürlich weiterhin überall verwendet wenn diese gut
> läuft, warum sollte ich das Rad neu erfinden?!?
> Steht doch jeden frei seine eigene Lib in Pascal zu schreiben, ganz ohne
> C

Ich würde empfehlen, wir diskutieren das weiter wenn die ersten in 
reinem Pascal geschriebenen Libs auf produktivem Level sind. Einen 
Wrapper Pascal C um eine bekannte Lib meine ich damit nicht.

Wie gesagt, ich will hier keinen Glaubenskrieg entfachen. Wenn du mit 
Pascal klar kommst ist doch gut. Dann mach es doch 'einfach' in Pascal 
neu. Andere werden sich bestimmt über deine Arbeit freuen.

von Tom (Gast)


Lesenswert?

?? Nochmal die Frage wozu??!?! Warum sollte ich??!
Wenn es eine fertige in PAscal geben würde die total super ist, und in 
gcc eingebunden währe, so würde wol die gentutz werden und niemand eine 
zweite halbgare in C entwickeln..
Es gibt schlicht keinen Grund!
Wie geagt, ich ARBEITE mit Pascal, ich verdiene hiermit mein Geld, warum 
sollte ich alle neuschreiben wenn s existeirende gibt die gut 
funktiioonieren?!?
Wie gesagt, das ist was für die C frickel Fraktion, die in C 
programmiert, weil C programieren an sich so toll ist...die meisten 
wollen aber ein Ergebniss dessen! denen ist einfach scheißegal was 
dahinter steht.,
Ein Geschäftsmann der mit seinem 7er BMS jeden Tag über die Autobahn 
fährt ist es scheißegal wie die Beschichtung seiner Kolgen gemacht ist, 
wie die Kugellager der Licgtmaschiene vom Gusgehäuse entkoppelt sind etc 
pp...der will das Auto zuverlässig fahren können und damit am Ziel 
ankommen..der C Programmierer zerelgt den 7er und frickelt daran rum um 
zu sehen wie e gemacht wurd, verbringt Moante damit den Wagen wiede 
rzusammen zu bauen, wähend der Geschäftsmann in den Brpschüren bereits 
mit dem Nachfolgemodel libäugelt ...

von Stefan (Gast)


Lesenswert?

Wenn du die Aufgabe bekommst ein CortexM3 Board mit Ethernet 
Schnittstelle per Weboberfläche konfigurierbar zu machen. Wie löst du 
das?

von Tom (Gast)


Lesenswert?

Ich nehem die Tcp/IP lib und füge dort in PAScal hie Starhtml Seite ein 
und beende das Projekt..
Genauso wie wenn iche s bei einem Atmega machen würde..eigentlich ganz 
einfach..
Dafür bräuchte ich trotzt meiner ebshceidenen Programmierkentnisse bei 
beiden ca 2 Stunden oder so...
Wie machst Du das in C? :-)

von Tom (Gast)


Lesenswert?

hab gerade mal nachgesehen :-)
Gibt da in Micropacal sogar nen fertiges beispiel zu :-9
Library Example
This code shows how to use the AVR Ethernet mini library :

the board will reply to ARP & ICMP echo requests
the board will reply to UDP requests on any port :
returns the request in upper char with a header made of remote host IP & 
port number
the board will reply to HTTP requests on port 80, GET method with 
pathnames :
/ will return the HTML main page
/s will return board status as text string
/t0 ... /t7 will toggle RD0 to RD7 bit and return HTML main page
all other requests return also HTML main page.

von Tom (Gast)


Lesenswert?

ich währe also wohl noch schneller fertig :-) und Du?

von Tom (Gast)


Lesenswert?

es geht einfach darum das der Geschäftsmann nicht der bessere KFZ 
Mechaniker sein möchte genausowenig wie der der mit dem entwickeln von 
Schaltungen Geld verdienen will, nicht den Anspruch hat der Mega 
Programmierer sein zu wollen

Beiden ist das völlig egal, weil das nicht derren Schwerpunkt ist!!
Natürlich brauchts auch super Programmierer, aber mein Ding sit es 
nicht, und ich ahbe auch kein Interesse daran, so wie viele andere hier 
auch, die wollen gerne ihre eigene Haussteuerung entwickeln udn fragen 
um eine schnelle Antwort zu bekommen im Forum..blöd wenn dann immer nur 
Antwroten kommen, wie überleg doch mal selner,w arum sollen wir dir die 
Antwort verraten etc pp leider ist daher der großteil des Forum 
Müll..weil meist so geantwortet wird..übrigens ist das 
Microcontroler.net das Einzige wo ich diese Unsitte so kenne!

von Maxx (Gast)


Lesenswert?

Tom schrieb:
> es geht einfach darum das der Geschäftsmann nicht der bessere KFZ
> Mechaniker sein möchte genausowenig wie der der mit dem entwickeln von
> Schaltungen Geld verdienen will, nicht den Anspruch hat der Mega
> Programmierer sein zu wollen

Nein, dem geht es darum unter der Kontrolle von Risiken seinen Gewinn zu 
maximieren.

Der Autowerkstattbesitzer muss nicht zwingend sein bester Meister sein, 
aber er braucht das Wissen und die Erfahrung des Meisters. Meist genau 
dann, wenn es sowieso nicht rund läuft.

Der würde doch auch nie auf die Idee kommen seine Autos von der 
Dorfjugend aufm Hinterhof reparieren zu lassen, weil das schnell und 
bequem geht. Sondern von seinen Mitarbeitern, die Ahnung von dem Haben 
was sie tun, auch wenns nur der Austausch von Fertigteilen ist.

von old man (Gast)


Lesenswert?

Steigerst du dich jetzt emotional so hoch dass du kaum noch die Tastatur 
bedienen kannst?

Wenn nicht wollte ich weder C- noch Pascalcompiler sein bei diesem 
Input...

Wo hast du denn dein Problem? Dir geht es doch gar nicht um C oder 
Pascal. Du kennst Pascal und hast mit Micropascal etwas gefunden mit dem 
du zurecht kommst. Das ist wie wenn jemand unter z.B. unter Windows 
programmiert. Klar definierte APIs mit denen man seine Aufgabe lösen 
kann.

Versuch doch aber bitte nicht die zu bekehren die das Betriebssystem und 
die APIs geschrieben haben. Das ist eine Welt, in die willst du 
überhaupt nicht eindringen und verstehst sicher auch nicht soviel davon.

In der Controller-Programmierung ist es fast genauso, nur im Kleinen. 
Beides hat seine Berechtigung. Der der mit höheren APIs arbeiten will 
soll es machen oder lassen.

Trotzdem kannst du dich drehen und wenden wie du willst. Die Sprache der 
Wahl auf dem untersten Level ist C. Und wenn du das als "Gefrickel" 
bezeichnest, dann bist du ein ganz arrogantes A...
Analysiere mal deine fertigen Programme und rechne mal aus welcher 
Prozentsatz davon C als Ursprungssprache hat und welcher Pascal. Wenn da 
ein httpd-Server im Spiel ist schätze ich mal 90% C 10% Pascal.

von Tom (Gast)


Lesenswert?

?! Wo bekehre ich jemanden!?
Ich sage das es Kackegal ist!
Und das Pascal weniger Fehleranfällig ist (Varaibledekleratione etc)!

Nicht weiter.
Und die MEISTEN hier SIND C Frickler!!! das ist nunmal so!

Da ist nichts gegen einzuwenden, wohl aber wenn Fragen immer mit 
Gegenfragen beantwortet werden und derjenige es selber herausfinden 
soll...!
Wer nicht direkt helfen will kann den Rand halten! weitere Fragen, 
braucht niemand als Antwort, außer es ist gleich eine Erklärung darin 
enthalten, das ist dann natürlich vorbildlich

von old man (Gast)


Lesenswert?

Tom schrieb:
> Ich nehem die Tcp/IP lib und füge dort in PAScal hie Starhtml Seite ein
> und beende das Projekt..
> Genauso wie wenn iche s bei einem Atmega machen würde..eigentlich ganz
> einfach..
> Dafür bräuchte ich trotzt meiner ebshceidenen Programmierkentnisse bei
> beiden ca 2 Stunden oder so...
> Wie machst Du das in C? :-)

Bei den Chips die von deiner Umgebung unterstützt werden. Sobald ein 
neuer dazukommt ist Schicht im Schacht. Die gesamte Serie von NXP ist 
schon mal nicht dabei. Das sagt alles.

von Tom (Gast)


Lesenswert?

und nein, ich Tippe auf nem neuen Laptop, und kämpfe noch mit der neuen 
Tastatur, ist aber auch völlig am Thema vorbei, wie ich schreibe, änder 
nichts daran an dem WAS ich schreibe..wo wir wieder beim Thema währen!

von Tom (Gast)


Lesenswert?

ähm..ja und?
Dann verwende ich die nicht...
Wenn ich dir nen unbekannten Chip vorlege ist bei Dira uche rsmtal 
Schicht im Schacht und verbingst Tage damit im Keller..

Wenn ich keinen 20er Hammer im Regal habe nehme ich einen 15 oder 25, wo 
sit das Problem?

Ich brauche doch wohl nciht jeden erdenklichen Chip programmieren 
können, schlussendlich arbeiten 90% der leute hier mit 3 oder 4 
verschieden...Was interessieren mich die restlichen 200?!?!?

von Tom (Gast)


Lesenswert?

und wenn ich unbedingt nen 16 Bit ADC benötige und der Controler wird 
nicht unterstützt verwenden ich halt nen externen!? Raffe diese Einwände 
nicht

von Cyblord -. (cyblord)


Lesenswert?

Tom schrieb:
> ?! Wo bekehre ich jemanden!?
> Ich sage das es Kackegal ist!
> Und das Pascal weniger Fehleranfällig ist (Varaibledekleratione etc)!

Dabei vergleichst du Äpfel mit Birnen. Pascal existiert auf einer 
abstrakteren Ebene als C. Du magst Pascal-Compiler? Es soll Leute geben 
die schreiben gerne Pascal-Compiler, und rate mal in was.
Deine Pascal-Welt mit den wenigen Fehlern, den festen Arraylängen, ohne 
blöde Pointer und Adressen, die muss in einer Sprache gebaut werden, die 
diesen Komfort nicht besitzt. Denn der entsteht nicht aus dem Nichts. 
Also wieso kritisiert du die Leute, welche sich auf einem anderen Level 
mit Entwicklung beschäftigen als du, einem Level welches es Leuten wie 
dir erst ermöglicht in ihrer schönen Pascal-Welt zu leben?

gruß cyblord

von Tom (Gast)


Lesenswert?

lol what nen Quatsch :-)
Ich kritisiere keine C Leute, ich kritisiere die C leute die meinen C 
währe die unterste Ebene ohne die s nicht ginge...

Das klingt dann immer so,als ob es ohne C weder Basic noch Pascal, Ada 
etc gäbe

Und das sagt dann wiederum das diese leute einen fiesen Denkfhler haben 
:-)
 LunaAVR ist z.B. nicht in C geschrieben wie viele andere Compiler auch

von old man (Gast)


Lesenswert?

Tom schrieb:
> Und die MEISTEN hier SIND C Frickler!!!

Ich kann mich nicht errinnern ähnlich pauschal jemanden herunter gemacht 
zu haben. Deshalb glaube ich auch nicht mit dir weiter eine sachliche 
Diskussion führen zu können. Verwende weiter die Sachen die du von 
C-Programmieren eingekauft hast aber bitte bezeichne die nicht als 
Frickler. Und wenn sie das wären, dann wäre ja auch dein Code zum großen 
Teil nur gefrickelt. MikroElektronika hat viele schöne Libs. Alle in C 
geschrieben mit einer hauchdünnen Schicht Pascal oder Basic drüber.

von Tom (Gast)


Lesenswert?

ähm und Pointer und co gibt es auch in Pascal, vielelicht übersehen 
einige das JEDE Sprache sich weiterentwickelt..
Pascal genauso wie C

von Tom (Gast)


Lesenswert?

wie geagt, tut das so agr nichts zur Sache, wenn die Entwickler von 
Microe nunmal C Programmierer sind ist es wohl sehr naheliegend das auch 
in C zu schreiben-nicht wahr?

von Tom (Gast)


Lesenswert?

ich bezeichen wenn Du noch mal nachschaust, nicht JEDEN C Programmierer 
als Frickler, die Leute von Microe sind sicher erfahrene Programmierer, 
so wie es hier einige gibt..wenige...
Als Frickel bezeichne ich die Leute, deren hauptziel das frickeln mit C 
ist..die es toll finden was damit gebacken zu bekommen es aber unbedingt 
in C sein muss!!
So wie es Linuxfrickler gibt..

Wenn jemand gut in C schreiben kann und damit arbeitet ist es kein 
Frickler sonder ein erfahrende evtl Proffessioneller programmierer so 
wie es diese auch in PAscal und BAscom gibt

von Cyblord -. (cyblord)


Lesenswert?

Ok ich glaube die Diskussion bringt nix. Ein Gast-User der völlig 
unqualifizert Rundumschläge gegen C ausführt. Gefangen in seiner 
Pascal-Welt, muss ich ihm inzwischen jede Kompetenz absprechen, über C 
urteilen zu können. Verbohrt und Unwissend, ja eigentlich Dummfrech.

gruß cyblord

von Mr.T (Gast)


Lesenswert?

Steff schrieb:
> Oder wie bekomme ich endlich C und C++ in mein Hirn!?

Ging mir früher ähnlich. Am Atari ST in GeFAhr Basic und ASM 
programmiert, weil ich die C Syntax nicht geschnallt habe. Im Studium 
learning-by-doing in den Praktika/Übungen und da fiel der C-Groschen. 
Als one-man Show brauchst Du m.E. jemanden, der mit Dir zusammen eine 
Entwicklungsumgebung einrichtet und Dich ein wenig "an die Hand nimmt". 
Nur mit Büchern hätte ich mich damals auch schwer getan.

von Tom (Gast)


Lesenswert?

das nervigste ist, wenn man kein Ziel hat.
Wenn man ein bestimmtes PRojekt vor Augen hat, und morgens voller Freude 
ans WErk geht und weiß worauf man zuarbeitet...
Aber wenn es nur dröges rumprobieren ohne Ziel ist, es es natürlich in 
jeder Sprache schwer.
Durch Foren sollte ja heute Jeder jemanden an der Hand haben der ihm 
helfen kann.

Wie gesagt, wo hole ich hier gegen C generell aus?!? Völliger Quatsch

Pascal/Ada werden nunmal nicht umsonst bei sicherheitsrelevanten Sachen 
verwendet!

Ich habe auch einige male mit C geliebäugelt aufgrund der größeren 
Communty, aber die Aussicht auf mehr Probleme als Lösungen hat mich dazu 
gebracht, doch wieder nen PAscal Compiler auch für ARM zu erwerben.

Das muss ja nicht für jeden zutreffen, für meine Projekte steht aber 
nunmal die Zuverlässigkeit an oberster Stelle.
Und da ich kein meister der Programmierung bin, wähle ich also den 
sicheren Weg.
Die Unart mit dem anonymen Namen habe ich mir hier angewöhnt, da 
jegliche Diskussion sonst persönlich wird, habe das ewig 
angeprangert..leider gibt es diese anonyme möglichkeit weiterhin,a lso 
schreibe ich nur noch so..immer utner anderem Namen..leider ist das in 
diesem Forum dringend angeraten

von ttl (Gast)


Lesenswert?

Tom: hast Du eine Zertifizierung für deine compiler libs? Wenn Nein dann 
erwähne Sicherheitsrelevant nicht!

von Tom (Gast)


Lesenswert?

?? Was hat mein Anspruch bitte damit zu tun!??! Hä??!?!

Und das in Sicherheitsrelevatnen Bereichen Ada eingesetzt wird, ist 
allgemein bekannt (Flugsicherheit, Militär, Geldverkehr etc)

von Tom (Gast)


Lesenswert?

es geht darum, das man SELBER keine neuen Schwachstellen und Fehler 
einbaut, dazu braucht es keine Zertifiziereung?!?

von Quak (Gast)


Lesenswert?

Tom schrieb:
> Und das in Sicherheitsrelevatnen Bereichen Ada eingesetzt wird, ist
> allgemein bekannt (Flugsicherheit, Militär, Geldverkehr etc)

Ich habe in allen 3 Bereichen schon gearbeitet. Die Sprachen waren C, 
C++ und Java. Davon, dass in diesen Bereichen besondere Sprachen 
verwendet wuerden, habe ich nur an der Hochschule gehoert. Mag sein, 
dass es irgendwo im hintersten Winkel solche Faelle gibt... aber 
groesstenteils ist das ein unwahres Geruecht.

von Tom (Gast)


Lesenswert?

Also bei EADS kenne ich das durch einen Bekannten der dort aber selber 
nur Techniker ist..
und wikipedia bestätigt das zumindest erstmal, was natürlich nicht 
allgemeingültig ist, das ist sicher richtig

http://de.wikipedia.org/wiki/Ada_(Programmiersprache)

von Tom (Gast)


Lesenswert?


von W.S. (Gast)


Lesenswert?

cyblord ---- schrieb:
> Dabei vergleichst du Äpfel mit Birnen. Pascal existiert auf einer
> abstrakteren Ebene als C. Du magst Pascal-Compiler? Es soll Leute geben
> die schreiben gerne Pascal-Compiler, und rate mal in was.
> Deine Pascal-Welt mit den wenigen Fehlern, den festen Arraylängen, ohne
> blöde Pointer und Adressen, die muss in einer Sprache gebaut werden, die
> diesen Komfort nicht besitzt.

Junge, du hattest früher schonmal bessere Beiträge - und dieser ist 
völliger Unfug.

Also:
Modernes Pascal hat Arrays in (fast) beliebiger Länge und sogar mit fast 
beliebiger Indizierung (C nicht).
Ebenso hat Pascal Pointer (sowohl blöde als auch unblöde..), hat Komfort 
mit Funktions-Argumenten, den man bei C nur durch Pointer erreicht,
UND: Pascal hat Objekte (oder Klassen je nach Sprach-Stallgeruch), was 
man bei C vergeblich sucht. Komm jetzt nicht mit C++.

Und der allererste Pascal-Compiler wurde genauso wie der derzeitige 
FreePascal-Compiler in Pascal geschrieben. Dein Unken bezieht sich 
vermutlich auf Borland-C, was eine ganze Reihe von Systembibliotheken 
mit Borland-Pascal gemeinsam hatte.

Kurzum, Pascal ist für hardwarenahe Programmierung ganz genauso geeignet 
wie C, da gibt es nichts aber auch garnichts in C, was Pascal nicht 
genausogut oder besser könnte.

Das einzige Problem ist die Frage, wo man einen guten Pascal-Compiler 
für "bare metal" herbekommt. Aber das ist nicht ne Frage der 
Programmiersprache, sondern der jahrelangen Vernachlässigung selbiger 
durch Anwender wie Hersteller. Einen ganzen Sack neueren Krames hätte 
man sich sparen können, wäre Pascal vernünftig weitergepflegt worden.

Aber mal was zu Mikroe: Bei deren Pascal sehe ich zwar ne Menge 
Ausdrücke, die in's Pascal quasi eingearbeitet wurden, um 
hardwarespezifische Dinge per Standard-Library zu erledigen (was mir 
nicht recht schmeckt, weil nicht wirklich notwendig), aber solche 
wichtigen Dinge wie SVC's, die es ja bei mehreren 32 Bit Architekturen 
gibt, fehlen komplett - genauso wie sie beim GCC komplett fehlen. OK, 
die üblichen GCC-C-Bastler haben sowas noch nie benutzt...

W.S.

von Cyblord -. (cyblord)


Lesenswert?

W.S. schrieb:

> Junge,

so würdest du mich im RL nur einmal anreden. Ganz kurz.

von Eumel (Gast)


Lesenswert?

cyblord ---- schrieb:
> so würdest du mich im RL nur einmal anreden. Ganz kurz.

Boha bist du ein harter Ficker.
Nicht.

von avr (Gast)


Lesenswert?

W.S. schrieb:
> Junge, du hattest früher schonmal bessere Beiträge - und dieser ist
> völliger Unfug.

du auch:

W.S. schrieb:
> Und der allererste Pascal-Compiler wurde genauso wie der derzeitige
> FreePascal-Compiler in Pascal geschrieben.

von holger (Gast)


Lesenswert?

>Das einzige Problem ist die Frage, wo man einen guten Pascal-Compiler
>für "bare metal" herbekommt.

Das hat die Evolution wohl nicht mehr vorgesehen.

Der Rest der Welt der andere Sprachen benutzt hat einfach gewonnen.
Da kannst du dich in die Ecke stellen und Scheiße schreien.
Es hört dich keiner.

von Tom (Gast)


Lesenswert?

Aber Pascal ist viel besser als alles was der Rest der Welt benutzt. Vor 
allem weil ich nur Pascal kann und alles andere macht mir Angst.

von mal schauen (Gast)


Lesenswert?

Beispiele für gute Webseiten für µC und Pascal?

Vielleicht diese hier?

http://turbo51.com/8051-editor-ide

von foobar (Gast)


Lesenswert?

W.S. schrieb:
> Und der allererste Pascal-Compiler wurde genauso wie der derzeitige
> FreePascal-Compiler in Pascal geschrieben.

Henne/Ei?

von Maxx (Gast)


Lesenswert?

Herrlich! Gotteskrieger :-)

W.S. schrieb:
> Junge, du hattest früher schonmal bessere Beiträge - und dieser ist
> völliger Unfug.
>
> Also:
> Modernes Pascal hat Arrays in (fast) beliebiger Länge und sogar mit fast
> beliebiger Indizierung (C nicht).

Welche denn?

> Ebenso hat Pascal Pointer (sowohl blöde als auch unblöde..), hat Komfort
> mit Funktions-Argumenten, den man bei C nur durch Pointer erreicht,
> UND: Pascal hat Objekte (oder Klassen je nach Sprach-Stallgeruch), was
> man bei C vergeblich sucht. Komm jetzt nicht mit C++.

Warum nicht? Das geht z.B. im Linux Kernel ganz ausgezeichnet Funktionen 
und Daten in einem Datentyp zu bündeln. Vererbung, virtuelle Funktionen 
alles kein Problem.

> Und der allererste Pascal-Compiler wurde genauso wie der derzeitige
> FreePascal-Compiler in Pascal geschrieben. Dein Unken bezieht sich
> vermutlich auf Borland-C, was eine ganze Reihe von Systembibliotheken
> mit Borland-Pascal gemeinsam hatte.

Henne Ei Problem gelöst? Es gab zwar noch keinen Compiler aber mit 
diesem wurde der Compiler compiliert. Üblicherweise gibt es den 
Sprachencompiler erstmal in einer anderen Sprache und der Wechsel, dass 
er sich selbst übersetzen kann wird als Meilenstein gefeiert liegt aber 
oft Jahre nach der ersten Version.

> Kurzum, Pascal ist für hardwarenahe Programmierung ganz genauso geeignet
> wie C, da gibt es nichts aber auch garnichts in C, was Pascal nicht
> genausogut oder besser könnte.

Richtig, wenn da nicht die Verbreitung und der Support nen dickes - 
machen würde. Und ein "dann nehm ich nen anderen uC" ist nen dummes 
Argument. Ich wähle den uC doch nicht nach meinem Werkzeug aus, sondern 
nach der Problemstellung und dem Lösungsweg.

> Das einzige Problem ist die Frage, wo man einen guten Pascal-Compiler
> für "bare metal" herbekommt. Aber das ist nicht ne Frage der
> Programmiersprache, sondern der jahrelangen Vernachlässigung selbiger
> durch Anwender wie Hersteller. Einen ganzen Sack neueren Krames hätte
> man sich sparen können, wäre Pascal vernünftig weitergepflegt worden.

Das ist leider ne Frage der Programmiersprache. Die Vernachlässigung hat 
seine Ursachen auch abseits irgendwelcher Religionskriege. Genauso wie 
es für C seine Ursachen hat dass es noch an Stellen eingesetzt wird in 
dem es eigentlich lieber nicht genutzt werden sollte, bzw immer wieder 
die gleichen Fehler provoziert.

Wenn ich z.B. keinen Flash-Speicher zuverlässig nutzen kann 
(Umgebungsbedingungen), dann kann ich mir den Luxus nicht leisten FRAM 
basierte Systeme wegen der fehlenden Unterstützung ausser Acht zu 
lassen.

> Aber mal was zu Mikroe: Bei deren Pascal sehe ich zwar ne Menge
> Ausdrücke, die in's Pascal quasi eingearbeitet wurden, um
> hardwarespezifische Dinge per Standard-Library zu erledigen (was mir
> nicht recht schmeckt, weil nicht wirklich notwendig), aber solche
> wichtigen Dinge wie SVC's, die es ja bei mehreren 32 Bit Architekturen
> gibt, fehlen komplett - genauso wie sie beim GCC komplett fehlen. OK,
> die üblichen GCC-C-Bastler haben sowas noch nie benutzt...

Ich weiss nicht was du hast das sollte weder mit C noch Pascal ein 
Problem darstellen. Die richtige Speicherstelle beschreiben und den 
Rücksprung initiieren. Funzt mit beiden unter mindestens ARM und X86/64. 
Dafür brauchts nur Pointer.

Maxx, der sowohl in C als auch Pascal daheim ist.

von W.S. (Gast)


Lesenswert?

Maxx schrieb:
> Ich weiss nicht was du hast..

Ähem.. du hast die Sache mit den SVC's nicht verstanden. Das ist es.
Natürlich kann man sich nen Wrapper in Assembler schreiben (wie ich das 
bei der Lernbetty gemacht hab), aber dabei geht die Hälfte aller 
Vorteile drauf.

Guck dir mal nen ASM-Quellcode oder ein Reassemblee von dem an, was der 
Keil zum Beispiel aus SVC's macht. Da merkt man erstmal, wie die Musike 
spielen kann..

cyblord ---- schrieb:
> so würdest du mich im RL nur einmal anreden. Ganz kurz.
und schon bist du weggelaufen, bevor ich dir die Ohren langziehe?
OK, manchmal hat selbst dieses Forum seine lustigen Seiten.

Aber was den allerersten Pascal-Compiler betrifft: da müßte man den 
guten Professor Wirth fragen. Ich vermute mal, er hat einige Jahrgänge 
an Studenten mit dem händischen Übersetzen verschlissen.. ;-)
Ich kenn das aus meiner eigenen Studienzeit, da wurde der erste Compiler 
für die Dissertation eines Assis von den Studenten zu Fuß in Assembler 
geschrieben und unsereiner durfte dazu diverse Moduln beitragen - und 
hat dafür mit Regelmäßigkeit die Rechenzeit nur nach Mitternacht 
gekriegt.. Bäh! Naja, vielleicht war sowas auch ne Maßnahme, um die 
Ausschweifigkeit des Studentenlebens zu begrenzen.

Aber Holger liegt ja richtig: Egal wie gut Pascal ist und welches 
Potential drinsteckt, Heerscharen von Programmierern haben sich auf C 
gestürzt und so ist der Mainstream in ne andere Richtung gegangen. Tja. 
Man könnte ja noch mal... nen Thread aufmachen mit der Frage "Warum 
eigentlich?"

Was bleibt? Ne Monokultur und jeden Tag ein Dutzend Anfragen hier in 
diesem Forum, wo Leute nicht mit C klarkommen. Hier hat mal einer seinen 
angestauten Frust abgelassen:

Steff schrieb:
> Hallo,
>
> muss mal bischen Frust ablassen..
und sowas muß auch mal sein.

Es bleibt sicherlich interessant, ob nun nach C, C++, Java, C# demnächst 
ein C$$ und danach ein C%% oder C?? oder C§§ kommt oder ob die 
gewöhnlichen Feld-Wald-Wiesen-Programmierer irgendwann nur noch 
Arduino-Bauklötzchen plazieren können.

Schaun wir mal.

W.S.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.