richtig, gento!
sachlich bleiben.
wenn du dir mal die mühe machst, und in mein chaotisches programm schaust (in dem keine fiesen optimierungen sind, d.h. selbst du kannst das c-programm lesen als wärs ein basic-programm

) wirst du sehen, dass die impulse zur motorsteuerung nicht über smarte timer-funcs o.ä. erzeugt werden, sondern dass diverse variablen in abhängigkeit anderer zählvariablen (rauf und runter, da einstellbare impuls und pausenzeiten) kippen.
Das habe ich gemacht, um für jeden motor eine eigene zeitbasis zu erzeugen.
Allerdings sind für die erzeugung der pwms viele operationen nötig, dazu kommen noch sachen wie menueführung, abfrage der tastatur etc.
All das führt dazu, dass die verarbeitungsgeschwindigkeit rapide sinkt gegenüber dem exakt gleichen programm in c.
Latürnich kann ich dir in ner schleife den port dichtpusten, dass der nciht mehr weis, ob seine bits nun hinten oder vorne sind.
IdR. sind meine programme aber größer.
Desweiteren steuere ich in der version keine schrttmotoren an (wozu sonst auch die schaltung oben), sondern gleichstrommotoren per pwm.
Deine kommentare waren schon mal besser und stichhaltiger, gento. wenn du schon so gerne kritisieren willst, dann bitte nciht einfach drauf los, sondern schau dir bitte mal an, womit du es zu tun hast.
Anm.: Wenn du pascal kannst, warum lernste dann nciht C ?
Desweiteren hast du von mir nie auch nur eine beleidigung zu hören bekommen !
Allg.:
Basic ist eine interpretierte sprache, d.h. ähnlich wie ein shellscript wird das programm gelesen und zur laufzeit "übersetzt", d.h. mit den basic-befehlen werden asm-routinen aufgerufen, die als parameter die parameter der basic-befehle haben (ganz grob).
Soviel zumindest aus der Zeit C64 / QBasic.
In C werden die befehle direkt in maschinensprache übersetzt (daher laufen die auch nur auf der einen architektur) und ggf. optimiert. Daher ist solch ein programm meist sehr effizient für die eine arch.
Ein Zwischending haben die mit Java gemacht.
Da wird der Code in eine art "assembler"-code übersetzt, welcher auf einer sog. "virtual machine" lauffähig ist, d.h. auf einem virtuellen prozessor.
Dieser "prozessor" muss dann auf dem zielsytem emuliert werden (daher der aufruf java prog_name)
Die virtual machine interpretiert (ähnlich wie basic, oder vgl. z.B. Perl) den bytecode (also die mashinensprache für die virtual machine) und ruft entsprechende routinen auf, die auf der zielhardware ausgeführt werden können.
Ausnahme: ARMS mit V5TJ-Instruction-set (ARM9xxJxx) (Jazelle) unterstützen (d.h. verstehen) ca. 50% des java-bytecodes, der dann (risc-typisch, von pipeline-stalls einmal abgesehen) in einem clock-cycle abgearbeitet werden können.
@Koursol: sorry, die freilaufdiode hab ich vergessen

Musste auch in der brücke noch einfügen, da müssen glaub ich 4 hin (einer für jeden transistor, da dort die drehrichtung des einen motors umgeschaltet werden kann.
Du kannst mit der linken maustaste werte in dem feld ablegen, gespeichert wird jeweils der komplette datensatz.
rechte maustaste liest die daten wieder ein.
Speichern auf hd geht auch.
für die 3 motoren hab ich glaub ich (jeweile impuls/pausenzeit)
pfeiltasten, Pos1/ende/entf/bild_ab, zahlentasten 2,8,4,6) genommen, schau mal in die tastaturabfrage.
r ist glaub ich richtung des einen motors, f-tasten oder so schalten die motoren global aus ... da ist ne menge drin, schau mal durch....
Wenn fragen: her damit
greetz,
medra