Forum: Mikrocontroller und Digitale Elektronik Quellcode mit Delphi schreiben und umwandeln?


von weizenbier (Gast)


Lesenswert?

Hallo,

ich komme eigentlich aus dem Maschinenbaubereich und möchte mich etwas 
in die Mikrocontrollertechnik einfuchsen.
Mein Problem ist, dass ich mit Informatik eigentlich nicht viel 
gemeinsam habe und nur irgendwann mal ein wenig mit Delphi programmiert 
habe.

Die Frage ist nun, ob man einen mit Delphi geschriebenen Quellcode 
mittels einer Software in eine für den Controller verständliche Sprache 
wandeln kann?

Da ich hier das Tutorial für AVR entdeckt habe, würde ich auch gerne 
einen AVR Atmel verwenden. Das Tutorial ist jedoch in assembler 
geschrieben, was ich überhaupt nicht verstehe- leider!

Kann man mit dem AVR -Studio 4 nur in assembler schreiben oder geht auch 
C? Ich glaube C ähnelt Delphi etwas mehr...


Achja, mein erstes Zielprogramm sieht wie folgt aus:

Spannung wird an den Controller gelegt und folgendes läuft ab: Ein 
Ausgang (LED) soll 3 mal schnell hintereinander Blinken und anschließend 
solange anbleiben, bis die Spannung wieder vom Controller genommen wird.


Wäre echt super, wenn einer von euch Informatikgöttern mir helfen könnte 
:)

von Klaus W. (mfgkw)


Lesenswert?

- Delphi geht nicht
- Es geht C, Assembler, irgendwas BASIC-Mäßiges gibt es noch.
  Evtl. auch Pascal (meine ich mal gelesen zu haben). Das
  wäre noch etwas ähnlich zu Delphi.

Es wäre wohl das sinnvollste, Delphi einfach zu vergessen
(außer einer Schleife wirst du für so ein Mini-Programm ja
nichts von der Sprache selber brauchen, der ganze Rest ist
eh AVR-spezifisches Gefummel), sich dann für Assembler
oder C zu entscheiden einfach das entsprechende Tutorial
durch zu ackern.
So schwer ist das nicht.

Ein Atheist.

von weizenbier (Gast)


Lesenswert?

ja, hab schon vermutet, dass das mit delphi nix wird...

werde es dann mit stduio4 und assembler probieren, da man dort noch 
simulieren kann, habe ich gelesen.

gibt es bei der assemblersprache sowas wie "timerbausteine" im sps 
bereich?

meine idee sieht wie folgt aus:

solange spannung an tue das:


led für xx sekunden an   // erster zyklus
led für xx sekunden aus



led für xx sekunden an   // zweiter zyklus
led für xx sekunden aus



led für xx sekunden an   // dritter zyklus
led für xx sekunden aus

LED an, solange Spannung da

ende;

kriege es einfach nicht gebacken das in assembler lauffähig zu 
schreiben...

von Helmut L. (helmi1)


Lesenswert?

>Kann man mit dem AVR -Studio 4 nur in assembler schreiben oder geht auch
>C? Ich glaube C ähnelt Delphi etwas mehr...

Du kannst in AVR Studio auch einen C Compiler (GCC) einbinden.
Dort hast du auch Funktionen die dir einen Delay erzeugen.
In Assembler muss du dir eine solche Funktion selber schreiben.
Das ist aber nicht schwer. Du must nur den Prozessor ein Zeit lang mit 
sowas nuetzlichen wie vor sich hin zaehlen beschaeftigen.

So in etwa

Delay:    ldi 20,Warte
Loop1:
    dec  R20
    brne  Loop1
                ret

Willst du laengere Zeiten erreichen musst du das ganze mehrfach machen.

Gruss Helmi

von weizenbier (Gast)


Lesenswert?

das ist schon mal gut... ich werde meinen geistigen erguss in form eines 
quelltextes mal zur korrektur hier reinstellen, wenn es soweit ist.

von Ben ■. (bloxx)


Lesenswert?

Natürlich gibt es einen "Delphi"-Like Pascal-Compiler für AVR/PIC.

http://www.mikroe.com/en/compilers/

Wird dort sogar als kostenlose Testversion angeboten. Ich persönlich
arbeite sehr gerne mit diesem Compiler, da ich auch von Klein auf eher
dem Pascal-Syntax zugeneigt war denn dem Palatal-Konsonanten-Sysntax :-)

■

von weizenbier (Gast)


Lesenswert?

@ ben,

danke für den tipp, damit komme ich schon besser zurecht :)

von Klaus (Gast)


Lesenswert?

lol, die Frage liest sich irgendwie so: "Wie kann ich etwas völlig neues 
machen, aber ohne dass ich irgendwas neues lernen muss?"

Wenn du so lernunwillig bist, dass vergiss die Mikrocontroller. Wenn das 
aber nur ein Missverständnis ist, und du doch neue Sachen lernen 
möchtest, dann ran an den Speck, C lernen is doch gar nicht so schwer ;)

von spess53 (Gast)


Lesenswert?

Hi

>Wenn du so lernunwillig bist, dass vergiss die Mikrocontroller. Wenn das
>aber nur ein Missverständnis ist, und du doch neue Sachen lernen
>möchtest, dann ran an den Speck, C lernen is doch gar nicht so schwer ;)

Wenn er schon Pascal kann (musste er wahrscheinlich auch mal lernen), 
warum sollte er dann mit C anfangen. Pascal ist eine durchaus 
gleichwertige Programmiersprache. Irgenwie sind diese Bekehrungsversuche 
der C-Jünger ganz schön lästig.

MfG Spess

von Klaus W. (mfgkw)


Lesenswert?

Aber mal wieder eine ernsthafte Frage, die zu dem Thema passt:
Die gcc kann ja theoretisch auch Pascal kompilieren. Dann wäre
der Schritt doch gar nicht so groß, AVR und Konsorten damit zu
füttern.
Ist das vielleicht bereits möglich? Hat das jemand probiert?

von Klaus W. (mfgkw)


Lesenswert?

spess53 schrieb:
> Hi
>
>>Wenn du so lernunwillig bist, dass vergiss die Mikrocontroller. Wenn das
>>aber nur ein Missverständnis ist, und du doch neue Sachen lernen
>>möchtest, dann ran an den Speck, C lernen is doch gar nicht so schwer ;)
>
> Wenn er schon Pascal kann (musste er wahrscheinlich auch mal lernen),
> warum sollte er dann mit C anfangen. Pascal ist eine durchaus
> gleichwertige Programmiersprache. Irgenwie sind diese Bekehrungsversuche
> der C-Jünger ganz schön lästig.
>
> MfG Spess

Wer bekehrt hier? Wer behauptet, daß Pascal keine sinnvolle
Sprache wäre?

Oder darf man nicht zu etwas anderem raten, ohne gleich wieder
angepampt zu werden?
Schließlich mag es Gründe für den Rat geben, ebenso wie
ich (ebenso wie sicher auch die anderen hier) gut damit leben
kann, wenn er trotzdem bei Pascal oder Delphi bleiben will.

Mein Hauptgrund, warum ich zu C raten würde ist der Umstand,
daß hier viele fähige Leute unterwegs sind, die genau damit
den ganzen Tag arbeiten.
Bei Pascal auf AVR Unterstützung finden zu wollen, ist eher
spekulativ.

von spess53 (Gast)


Lesenswert?

Hi

>Oder darf man nicht zu etwas anderem raten, ohne gleich wieder
>angepampt zu werden?

Dann lies dir dienen Spruch noch mal in Ruhe durch. Dann weisst du, wer 
wen 'angepampt' hat.

MfG Spess

von Klaus W. (mfgkw)


Lesenswert?

welchen bitte?

von spess53 (Gast)


Lesenswert?

Hi

Diesen hier:

>Wenn du so lernunwillig bist, dass vergiss die Mikrocontroller. Wenn das
>aber nur ein Missverständnis ist, und du doch neue Sachen lernen
>möchtest, dann ran an den Speck, C lernen is doch gar nicht so schwer ;)

MfG Spess

von Klaus W. (mfgkw)


Lesenswert?

Sorry, bin nicht zuständig dafür.
Im Gegensatz zu vielen anderen bin ich nicht für die
Gast-Nichtanmelderei und mache das auch selbst nicht.

(So schlimm fand ich den Spruch übrigens auch nicht, daß man
dafür einen Streit vom Zaun brechen muß, aber ist natürlich
Ansichtssache.)

von Klaus W. (mfgkw)


Lesenswert?

Ganz abgesehen davon, daß der TE übrigens gleich im ersten
Posting angedeutet hatte, sich notfalls auch mit C herum
plagen zu wollen.

Insofern wäre es ohnehin zielführender, mal auf das
ursprüngliche Thema einzugehen.
Der TE spricht beispielsweise von Delphi.
Interessant fände ich dabei, was er darunter versteht und
was er davon mitnehmen will. Ist es primär die Syntax der
Sprache, dann ist ihm Pascal vielleicht dienlich.
Wenn er er dagegen die gesamte Entwicklungsumgebung meint
mit all ihren Annehmlichkeiten, wird ihm das Pascal für
AVR eher wenig helfen und er muß sowieso umsteigen.

von Klaus W. (mfgkw)


Lesenswert?

Ceterum censeo... es wird doch keiner zu C gezwungen

Auf http://de.wikipedia.org/wiki/Atmel_AVR ist übrigens von einem
"Embedded Pascal for the AVR" die Rede (als Shareware).
Vielleicht ist das ja mal einen Blick wert? Kennt das jemand?

von Rainer (Gast)


Lesenswert?

Schon mal hier geschaut?

http://www.e-lab.de/AVRco/index.html

Rainer

von Marcelo F. (klaps)


Lesenswert?

Ben ■. schrieb:
> Natürlich gibt es einen "Delphi"-Like Pascal-Compiler für AVR/PIC.
>
> http://www.mikroe.com/en/compilers/
>

Ich bin auch neu in sachen mikrokontroller, will jetzt einen atmega8 
programieren(wens geht mit delphi ähnlicher sprache), geht das auch mit 
dem ""Delphi"-Like Pascal-Compiler" ?
Wenn man da links im programm name com device aussucht kommen da nur 
P12C671 oder so,aber nichts von atmega.

von oldmax (Gast)


Lesenswert?

Hi
Gut, ich programmiere auch in Pascal, aber der Pascal-Compiler für AVR 
war mir denn doch ein wenig zu gewöhnungsbedürftig. Nicht übel nehmen, 
ist mein Empfinden gewesen. So hab ich den Controller mit ASM 
tracktiert. Wenn du aus dem Maschinenbau kommst und ein wenig von 
Steuerungstechnik kennst, dann dürfte es ein leichtes sein, die 
Assemblerbefehle anzuwenden. Vorteil, du lernst die Vorgänge im 
Controller bei einfachsten Befehlen. Nachteil,so ein Programm wird 
schnell unübersichtlich. Wenn du Pascal-Erfahrung hast, dann kennst du 
strukturierte Programmierung, von daher ist's ein Vorteil.
Meine Erkenntnis: Es kommt nicht auf die Programmiersprache an, sondern 
wie gut du ein Problem definieren kannst, um es mit Technik zu lösen. 
Die Sprache selbst sucht man sich in der Regel einmal aus. Danach kommt 
so eine Art Gewohnheit und man hat dann seine Vorliebe. Wer gut C 
beherrscht, wird kein Pascal anwenden und wer Assembler bevorzugt, tut 
sich mit C schwer. Mir persönlich ist das so ziemlich egal, wichtig ist 
das Ergebnis und wie gut und effektiv ein Programm geschrieben ist.
Gruß oldmax

von Helge T. (htefs)


Lesenswert?

Marcelo F. schrieb:
> Ben ■. schrieb:
>> Natürlich gibt es einen "Delphi"-Like Pascal-Compiler für AVR/PIC.
>>
>> http://www.mikroe.com/en/compilers/
>>
>
> Ich bin auch neu in sachen mikrokontroller, will jetzt einen atmega8
> programieren(wens geht mit delphi ähnlicher sprache), geht das auch mit
> dem ""Delphi"-Like Pascal-Compiler" ?
> Wenn man da links im programm name com device aussucht kommen da nur
> P12C671 oder so,aber nichts von atmega.

Dann hast Du Dir wohl den falschen Compiler runtergeladen. Das Programm 
gibt es neben einer AVR-Version auch für andere Mikrocontroller. U.A. 
PIC (die Version hast Du wohl).

Hier findest Du unter Download die korrekte Version:
http://www.mikroe.com/en/compilers/mikropascal/avr/

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.