PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Einfache Programmierumgebung



Mike3012
06.05.2006, 20:47
Hallo,
Sollte dieser Post hier falsch sein --> bitte moven ;)

Ich mache gerade eine Art Programmierumgebung für Prozessoren. Dieses Programm soll den Umgang mit AVR zwar erleichtern, erfordert aber genausoviel Kenntnisse. Man baut sich mit "Bausteinen" ein Programm für einen zweimotorigen Roboter zusammen, wandelt es dann in einen Code um und überträgt es dann auf per Bascom auf den Prozessor. Also ist Bascom AVR eine Systemvorraussetzung.

Ich bin noch nicht fertig, bis jetzt funktionieren:

Rubrik "Optionen": alles
Rubrik "Programm": Kommentar, eigener Befehl, Leerzeile, Quelltext anzeigen, Befehl löschen, alles löschen
Rubrik "Info": alles
und alle Infobuttons

Ich suche noch nach BlitzPlus-Programmierern und einem C++ Programmierer, der mir eine dll für das Übertragen auf den Prozessor macht.

Ich habe meinen jetzigen Stand in den Anhang geschoben, als Windows ZIP-Archiv. Wer ZIP-Archive nicht entpacken kann, kann es auch als WinRAR Archiv kriegen.

Gruß Mike

nightflyer50
11.05.2006, 12:01
schaut soweit ja net so schlecht aus aber ich würde es in die richtung lego mindstorms gehen lassen oder nicht ?
währ ja noch schneller wenn man nur blöcke mit dem gewissen funktionen hin und herschiebt

Mike3012
12.05.2006, 16:53
ja das kommt auch noch, unter "Befehl einfügen". So im Lego Mindstorms Richtung is bisschen viel verlangt, das soll eher ein schnelles Festerprogramm sein und keine aufwändige Vollbildumgebung. Das mit Lego Mindstorms (R.I.S 2.0?) finde ich persönlich aufwändig, ich würde das lieber manuell machen oder ne andre Umgebung nehmen

hacker
12.05.2006, 18:22
Aber ich glaub, du hast dich mit der Einheit von dem Speicher der einzelen Chips vertan...da steht MEGAbyte..

Mike3012
13.05.2006, 16:09
nein das sind megabyte. Oder steht M(ega)16 neuerdings für 16 Kilobyte?

izaseba
13.05.2006, 16:25
Ich mache gerade eine Art Programmierumgebung für Prozessoren.


nein das sind megabyte. Oder steht M(ega)16 neuerdings für 16 Kilobyte?

Ich schmeiß micht weg....
Du machst eine Programmierumgebung für etwas wovon Du keine Ahnung hast, o weh.

Gruß Sebastian

P.S. Ich nehme dann die Tinys, das T steht für Tera

BiGF00T
13.05.2006, 16:44
...

EDIT:
Ok, vielleicht sollte ich doch mehr als nur 3 Punkte schreiben.
Ich glaube entweder liegt hier ein sehr großes Missverständnis vor, oder...... Eigentlich kann es nur ein Missverständnis sein.

Mike3012
14.05.2006, 14:53
Ich mache gerade eine Art Programmierumgebung für Prozessoren.


nein das sind megabyte. Oder steht M(ega)16 neuerdings für 16 Kilobyte?

Ich schmeiß micht weg....
Du machst eine Programmierumgebung für etwas wovon Du keine Ahnung hast, o weh.

Gruß Sebastian

P.S. Ich nehme dann die Tinys, das T steht für Tera

???

die Prozessoren heißen Mega16, Mega32, Mega64 usw. Da ist es erstmal naheliegend dass das Mega für Megabyte steht, zumal der 32er doppelt soviel speicher hat wie der 16er. Außerdem erscheinen mir 16000, 32000 oder 64000 Bytes etwas wenig für ein gutes Programm...

Sollte ich mich hier aber vertan haben, entschuldige ich mich :-b ^^


Du machst eine Programmierumgebung für etwas wovon Du keine Ahnung hast

Man kann mal was falsch aufnehmen, wzb wie die Bezeichnung eines Prozessors mit dem Speicher zusammenhängt. Aber deshalb ist es doch trotzdem nicht so, dass man keine ahnung davon hat! Außerdem ist das eine Beta-Version, weshalb z.B. der Optionsbereich zwar funktionsfähig, aber keineswegs komplett ist. Was vorhanden ist, geht im Optionsbereich, deswegen habe ich "Optionen: fertig" geschrieben.

PS.: Meine nächste Beta-Version ist bald fertig, damit kann man Speichern, Laden und Fehlermeldungen hervorrufen.

izaseba
14.05.2006, 15:55
Hallo,
tue Dir und diesem Forum ein Gefallen und lade Dir ein Dattenblatt zu einem x beliebigen AVR runter und schau Dir Seite Nr. 1 an.
Das Abenteuer mit einem µC sollte sowieso beim Dattenblatt anfangen, auch für einen Basic user.


Außerdem erscheinen mir 16000, 32000 oder 64000 Bytes etwas wenig für ein gutes Programm...

Hm, dann schreibe ich wohl nur schlechte Programme, habe noch nie die 8 *B eines M8 überschritten.

Gruß Sebastian

P.S.
Ich will Mich nicht über Dich lustig machen, will nur, daß Du die mal ein Dattenblatt anschaust, wenn Du eine "Programmierumgebung" schreibst.

BiGF00T
14.05.2006, 16:37
http://downloads.guru3d.com/download.php?det=793
Zieh dir mal KKrieger rein :)
96kB 3d shooter.

Ich will dir auch nicht zu nahe treten aber ich denke, eine Entwicklungsumgebung lässt sich am besten von Leuten entwerfen, die auch entwickeln. Wenn man das ganze Drumherum nicht kennt, weiß man ja garnicht, worauf man beim Entwickeln eigentlich achten muss.
Andernfalls könnte ich einfach mal einen Editor schreiben, der viele tolle Sachen macht, die dann aber am Ende überhaupt nichts mit dem Thema zu tun haben.

Mike3012
14.05.2006, 18:33
Außerdem erscheinen mir 16000, 32000 oder 64000 Bytes etwas wenig für ein gutes Programm...

Hm, dann schreibe ich wohl nur schlechte Programme, habe noch nie die 8 *B eines M8 überschritten.

Gruß Sebastian

P.S.
Ich will Mich nicht über Dich lustig machen, will nur, daß Du die mal ein Dattenblatt anschaust, wenn Du eine "Programmierumgebung" schreibst.


http://downloads.guru3d.com/download.php?det=793
Zieh dir mal KKrieger rein :)
96kB 3d shooter.

Naja, hatte ja nur gesagt dass mir 16k und 32k wenig erscheinen und nicht, dass Programme, die 16 oder 32 kB groß sind, zum Schlechtsein verurteilt sind ;) war aber noch nie gut im schätzen ^^

ich würde das Programm nicht machen, wenn ich mich nicht mit AVR befasst hätte. Das mit den Megabyte war ein Denkfehler (sry)... Wird sofort ausgebessert.

Die neue Version ist online: man kann unter "Optionen" kontrolliert Fehler hervorrufen, man kann Befehle hoch- und runterschieben, man kann speichern (naja nich wirklich) und der Fehler MB / kB wurde ausgebessert.

Gruß Mike

Andy1988
24.05.2006, 00:52
ich hab mir das Ding noch nicht angeschaut, weil ich Linux bneutze, aber in was programmierst du die Software?
Und wie puzzelst (oder willst du später) den Code zusammen? Benutzt du feste Codesegmente, die einfach nur aneinander gehangen werden, oder erzeugst du dynamischen Sourcecode?
Da gabs doch mal für .NET so eine Möglichkeit. Hab aber vergessen wie sie heisst. Fällt mir aber gleich wieder ein. Da hatte man die Möglichkeit einen Zwischencode zu erzeugen und dieser konnte dann in verdammt viele Programmiersprachen gewandelt werden. Bin mir aber nicht sicher, weil ich noch nie damit gearbeitet hab.

Hast du vor die Software mal Open Source (ich kann closed Source bei Hobby programmieren nicht verstehen! Macht in meinen Augen keinen Sinn!) werden zu lassen oder evtl. Modulweise zu programmieren, sodass man mittels Plugins z.B. verschiedene Programmiersprachen oder Plattformen nutzen könnte?

Ich hab grad nicht wirklich was zu programmieren. Evtl. mach ich sowas mal in Java, wenn ich inner Schule mit meinem Netzwerk-Multiplayer-Pong fertig bin ^^

edit:
habs mir grad mal mit wine angeschaut.
Kleiner Verbesserungsvorschlag:

Benutz keine Liste für die Anordnung der Befehle. Schreib dir lieber ein Control, was dir den krempel in Struktogrammen oder Programmablaufplänen darstellt. wenn man eine Neue Funktion oder Sub erstellt sieht man zuerst nur ein kleines Kästchen im Ablaufplan und wenn man dieses dann öffnet (durch nen Doppelklick oder sowas) kann man diese Sub bearbeiten.
Anschließend kann man noch die Sub/Funktion über einen extra "Befehl" in den Ablaufplan einfügen.

Aja nochwas: Den Quellcode bei "Quellcode anzeigen" würde ich nicht in ner MsgBox anzeigen. ist zu unpraktisch. Am besten machst du dir n Fenster mit ner mehrzeiligen Textbox. Da kann man schön markieren, scrollen und kopieren.

So, genug gemoppert ^^

Mike3012
24.05.2006, 20:08
zum ersten: Ich programmiere das in BlitzPlus. Ich wunder mich dass das auf Linux läuft, der Compiler macht nämlich keine exe-Datei aus dem Quellcode, sondern erst einen C++ Code und dann ne exe-Datei.
Ich wollt ja auch noch ne Linux-Version mit C++ machen, aber wenns nich nötig is, umso besser :)

zum zweiten: Seh ich auch so, das wird OpenSource. Ich will keinen Profit mit dem Programm machen, sondern es ist ein Zeitvertreib, und wieso soll ich den nicht mit dem Roboterbau kombinieren? ;)
Ich machs so, dass am Ende eine Hauptdatei entsteht, die über Plugins entweder einen C++ Code aus dem "Puzzle" macht oder einen Bascom Code. Aber erst dann, wenn ich das mit C++ richtig kann oder jemand mir hilft ^^ Mein Ziel ist es, dass man den Code als .bas (Bascom), als .cpp (C++) oder direkt als .BIN auf den Controller speichern kann. Außerdem wird immer eine 2. Datei erstellt, in der der BasBricks Code steht, das mit dem Recompilieren wär zu aufwändig ^^



Benutz keine Liste für die Anordnung der Befehle. Schreib dir lieber ein Control, was dir den krempel in Struktogrammen oder Programmablaufplänen darstellt.

Hmm, ganz gute Idee, wär nur ganz hilfreich wenn ich das auchnoch verstehe o_O was meinst du mit einem Control, das den krempel in Struktogrammen oder Programmläufen darstellt?

das mit dem Quellcode anzeigen ist garnicht mal sone schlechte idee... thx

ok genug für den Schreibfluss,
Gruß Mike

NumberFive
25.05.2006, 08:51
die Hilfstext / ? Button würde ich in eine hlp datei legen oder so was ähliches.

Du scheinst ein Messageboxen fanatiker zu sein.

für mich wird das ding erst interressant wenn es C kann bin keine Bascom fan.

Die Idee ist gut mal sehen wie es weiter geht.
Guck dir mal das Bascom Betriebsystem für den AVR an welches Picknick geschrieben hat da solltes du relativ schnell viel hin bekommen.

Gruß

Rage_Empire
25.05.2006, 13:28
.
Guck dir mal das Bascom Betriebsystem für den AVR an welches Picknick geschrieben hat da solltes du relativ schnell viel hin bekommen.


Wußte gar nicht, daß PicNick der Programmierer von Bascom-AVR ist :-D

Wo findet man etwas über PicNicks System?

@Mike: Es sind wirklich nur kBs, was die Kappazität der Megas angeht. Was ist den BlitzPlus? Hab noch nie was davon gehört. Was exotisches?

Rage_Empire
25.05.2006, 18:05
Also hab mir das Programm mal angeschaut. Verstehe den Sinn noch nicht ganz....Soll dies als alternativer Bascom-Editor dienen?

NumberFive
26.05.2006, 08:17
https://www.roboternetz.de/wissen/index.php/Betriebssystem_f%C3%BCr_Bascom
https://www.roboternetz.de/phpBB2/viewtopic.php?t=16297

Ich denke das man den Sinn leichter erkennen kann wenn man mal die Programiersoft ware für RCX von Lego gesehen hat. Oder Delphi kennt.

Objekt nehmen drauf legen und augängen versorgen Fertig.

Gibt sicher keinen Optimaler Code aber man hat schnell erfolg.

Gruß

Mike3012
26.05.2006, 10:03
BlitzPlus ist eine ziemlich spezife GUI-Sprache. Hat nen starken Basic-Charakter und ist nicht wirklich sehr verbreitet. Wer QBasic kennt, ungefähr so ist auch BlitzPlus. Es ist eine ziemlich einfache Sprache, die Möglichkeit, wie in C++ DLLs einzubinden macht es trotzdem sehr vielseitig.

Der Sinn von BasBricks ist nicht, das Denken zu erleichtern, sondern einfach die Schreibfaulheit zu fördern ;)

Ich bin kein Messageboxen-Fanatiker, das war letztlich die einfachste und schnellste Methode (auch für den Benutzer), mit den Buttons zurechtzukommen...


für mich wird das ding erst interressant wenn es C kann bin keine Bascom fan.

Du könntest mir evtl helfen... bist du gut in C++? Also nicht nur AVR Programmierung, sondern auch z.B. DLLs machen ^^


Gibt sicher keinen Optimaler Code

Wenn ich selbst progge, ist der Code auch nicht optimal ^^

NumberFive
26.05.2006, 10:20
Programmiere jeden Tag in C++,

wie so was brauchst du ?

gruß

Freezer86
12.12.2006, 22:32
Wie ist der aktuelle Stand? Hast du nochmal was gemacht?

Mike3012
13.12.2006, 20:08
nein sry, ich finde keine zeit mehr dafür. außerdem is die normale AVR-Programmierung effektiver. das programm nimmt nicht wirklich Arbeit ab ^^

also thema bitte schließen :) (ich kenns aus andren Foren, dass der Threadstarter ein Thema schließen lassen kann, entschuldigt mich wenns hier nich so is)