Hi. Bin neu auf dem Gebiet der Mikrocontroller und wollte mal Fragen ob ich in Delphi Routinen schreiben kann um bestimmte Syntax zu automatisieren (entprellen, timer, ADC, u.s.w). man müsste doch auch in delphi ein Modul programmieren können um einen Controller über RS232 zu programmieren. Schreibt mal was ihr denkt. Danke schonmal Rainer
Ich denke, Rainer will nicht in Pascal den AVR programmieren, sondern sich in Delphi ein Werkzeug schaffen, mit dem er den Code für häufig wiederkehrende Standardaufgaben schnell erzeugen kann. Sowas wie eine Codegenerator mit angeschlossenem Bootloader, oder so ähnlich, oder nicht? Gruß Ingo
delphi wäre für einen uC der kleineren sorte kaum zu schaffen, da durch die objektorientierung sehr viel verwaltungs- und speicheraufwand für die datenstrukturen entstehen würde. aber wie andreas schon geschrieben hat gibts ja pascal für mikrocontroller, das ist ja noch ohne explizites oop oder grafikorientierung hier gibts eine übersicht über die üblichen hosprachen für uC: http://www.mikrocontroller.net/wiki/HLL hier gibts einen pascalcompiler z.b für avr's (demo kostenlos): http://www.e-lab.de/
> um bestimmte Syntax zu automatisieren
Sicher kannst du das in Delphi programmieren, du kannst deiner Fantasie
freien Lauf lassen. Wenn ich das richtig verstanden habe, willst du also
so ne Art Wizard programmieren. Ist ne praktische Sache, man könnte z.
B. automatisch Code für die Initialisierung der UART erzeugen. Wenn man
nicht so häufig programmiert, muß man ja doch mal in das Datenblatt
schauen und mit dem Wizard könnte man Zeit sparen.
Thorsten
Genau. will so ne Art Programmierbausteine erstellen um damit Code in assembler zu erzeugen.
klar geht das. aber das programmiren über rs232 kannst du dir sparen selber zu bauen. dafür gibts schon massenweise tools, viele auch auf der kommandozeile, also gut für dich einbaubar.
@Rainer Ein interessantes Projekt, da muß aber viel Zeit investiert werden. Schließlich gibts nicht nur ein AVR und wenn sowas angefangen wird, sollte es schon möglich universell sein. Hätte interesse mich daran zu beteiligen, nur leider werde ich dieses Jahr keine Zeit mehr dafür finden. Thorsten
Wenn man etwas "generell" machen will also möglichst hardware-unabhängig sollte man das mit ner allgemeingehaltenen .c und den Hardware zusätzen in .h machen. So Sollte es zumindest möglich sein in einer Familie von uc ohne Anpassungen in der .c zu Arbeiten. Eine .h die dir dann delphi auf den prozessor angepasst erstellt könnte ich mir durchaus vorstellen, wobei ich glaub das man da dann von Hand schneller ist. mfg Flo
man könnte auch codemasken und beschreibungen in externen dateien speichern und mit dem hauptprogramm dann nur noch auswerten und ausfüllen. dann kann man ohne neukompilieren das ganze an neue/andere controller anpassen. das wäre dann aber schon sehr universell
Hallo Rainer, hast Du dir mal die kommerziellen IDEs (z.B. AVRco) so angeschaut? Da wird man bei der Projekterstellung gefragt, welche CPU man mit welchem Takt haben will und ob man einen Watchdog, Timerinterrupt, externes RAM und dergleichen will/hat. Und dann kann man USART, PWM-Ausgänge, A/D-Wandler, SPI, I2C usw. gleich passend konfigurieren lassen. Fertige Funktionen für LCD (Text+Grafik), 7-Segment-Anzeigen, incrementelle Decoder, Tastaturmatrix, Schrittmotoren, Sound, Netzwerk (mit TCP/IP), Filesystem, Infrarot (RC5) senden+Empfangen, DCF77, RTC, I/O-Expander und dergleichen mehr lassen sich bequem über einen Wizard einstellen. Das ist doch genau das, was Du auch machen willst? Eines der Probleme dabei ist, daß man die Funktionen aufeinander abtimmen muß. Manche Funktionen (z.B. das 1wire-Protokoll) darf man nicht einfach willkürlich unterbrechen, d.h. wenn Du z.B. eine gemultiplexte 7-Segment-Anzeige hast, dann stört der Timerinterrupt erstmal die 1wire-Übertragung. Da muß man die beiden Funktionen aufeinander abstimmen. Insgesamt sicher ein nettes Projekt (hab' ich mir auch schon überlegt), aber privat spricht da der Aufwand dagegen (Du willst ja nicht hunderte verschiedene Schaltungen aufbauen) und beruflich gibts sowas schon fertig zu kaufen. Markus
> Fertige Funktionen für LCD (Text+Grafik), 7-Segment-Anzeigen, > incrementelle Decoder, Tastaturmatrix, Schrittmotoren, Sound, > Netzwerk (mit TCP/IP), Filesystem, Infrarot (RC5) senden+Empfangen, > DCF77, RTC, I/O-Expander und dergleichen mehr lassen sich bequem > über einen Wizard einstellen. Also ich denke, zu weit sollte man nicht gehen. Dann könnte man auch gleich MP3-Player mit VS1001 automatisch generieren. Aber eben Standardsachen, die immer wieder vorkommen und wo tausend Bits zu beachten sind, könnten automatisiert werden. Alles andere führt meiner Meinung nach nur dazu, daß die dahintersteckende Hardware immer mehr in Vergessenheit gerät. Gut, auf der anderen Seite wäre dann die Weiterentwicklung des im Zitat erwähnten eine grafische Programmiersprache: wie wärs mit GrafiBas ? Einfach nur Blöcke zusammenschalten und fertig. Aber das gibts ja glaube ich auch schon. Thorsten
das hört sich so an als würdest du dir die zeit zurückwünschen als alles aus einzelnen tranistoren u.ä aufgebaut wurde ;) da benutz ich doch lieber einen fertigen uC bei dem ich auch nicht die komplette hardware die dahinter steckt kenne/kennen will. ein paar vereinfachungen schaden doch nie, solang es dadurch keine nachteile gibt
Ein paar Vereinfachungen sind ja auch ok, nur ganze komplexe Blöcke
fertig zu übernehmen ist nicht mein Ding. Ich WILL verstehen, was
dahinter steckt. Schließlich gilt es ja auch, das Optimum aus einer
Schaltung herauszuholen und außerdem macht mir Optimierung Spass.
Beispiel: fertige IDE-Routine bei Bascom, die ist soooo (250kByte/s ?)
langsam. In C bekommt man mit einer einigermaßen sinnvollen
Programmierung (ohne Optimierung) locker das dreifache an
Geschwindigkeit heraus. Ich selbst habe die Routine nie ausprobiert
(geschweige denn Bascom), aber ich habe es hier im Forum gelesen und da
wird schon was wares dran sein.
> solang es dadurch keine nachteile gibt
Die Nachteile sind eben mangelhafte Performance und evtl. Probleme bei
der Ausführung.
Aber letztendlich muß das jeder für sich entscheiden, was er haben
will. Ich möchte jedenfalls die Routinen schon selbst programieren,
Standardkram wie gesagt kann automatisiert werden. Jedem das Seine :)
Thorsten
P.S.: Ich bemerke gerade die Bascomlastigkeit meines Postings, aber ist
doch ein typ. Beispiel. Bascom kann alles, aber halt irgendwie.
Hallo Thorsten, Du hast natürlich völlig recht damit, daß viele Leute alles selber machen wollen um es zu verstehen. Geht mir teilweise auch so. Allerdings muß ich dazu den Code nicht unbedingt selber schreiben. Was ich mir wünsche ist a) der Sourcecode der Funktionen und b) eine Beschreibung der technischen Grundlagen, also z.B. bei DCF77 wie das Protokoll aufgebaut ist und wie die Software die Dekodierung macht. Sowas gibts bei den kommerziellen Lösungen nicht und bei den freien Lösungen auch eher selten. Zu Bascom: Als Anfänger war ich schon ziemlich froh, daß ich das LCD und die serielle Schnittstelle ganz einfach mit zwei Zeilen Code ansprechen konnte. Natürlich ist der Code nicht immer perfekt, aber wenn der Sourcecode verfügbar (und dokumentiert) ist, dann kann man ihn ja auch einfach verbessern. Markus
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.