Kommentar: Einfügen von HTML im Kommentar: Link einfügen: <a href="LINKURL" target="_blank">LINKTITEL</a> Bild einfügen: <img src="BILDURL"> Text formatieren: <b>fetter Text</b> <i>kursiver Text</i> <u>unterstrichener Text</u> Kombinationen sind auch möglich z.B.: <b><i>fetter & kursiver Text</i></b> C Quellcode formatieren: <code>Quellcode</code> BASIC Quellcode formatieren: <basic>Quellcode</basic> (Innerhalb eines Quellcodeabschnitts ist kein html möglich.) Wichtig: Bitte mache Zeilenumbrüche, bevor Du am rechten Rand des Eingabefeldes ankommst ! -> I > > Ich habe mir den vom Compiler erzeugten Bytecode kurz angesehen. Wenn ich das richtig deute, dann > > ist der Zugriff auf Ports deshalb langsam, weil Biblioheks-Routinen benutzt werden. Bereits für die > > Übergabe der zwei Parameter werden vier Bytecode-Instruktionen benötigt. Wie schnell die > > Biblioheks-Routine arbeiten, läßt sich nur vermuten. Die CC1-kompatiblen Kontroller besitzen > > Befehle zum Portzugriff bereits im eingebauten Befehlsumfang und sind deshalb im Vorteil. > Stimmt. > > > Es kann natürlich vermutet werden, daß alle per Bibliothek implementierten Funktionen eine ähnlich > > schlechte Performance aufweisen. > Es werden 2 Bytecodes pro Übergabeargument benötigt. Sollte die Open-Mini/Micro selbst eine größere > interne Bibleothek bekommen, würde ich gerne sehen wie Du das effizienter löst. Und das meine ich > ernst" Findest Du eine bessere Lösung, laß mich daran teilhaben, dann bau ich das in die CC-Pro ein. > > > > Und wie auch schon geschrieben, sollte der Bedarf da sein (zumindest für Rechtecksignale nicht) so > > > kann ich einen spezialisierten Bytecode einbauen. Dann würde das Beispielprogramm nur 5 Bytecodes > > > benötigen. Das wären dann schon 48.000 Durchläufe/s. > > > > Dieser Rechnung kann ich nicht ganz folgen. Jetzt besteht die Schleife aus 5*4+1 Bytecode-Instruktionen > > und daher sollte das Programm nach Deiner Rechnung 30000*(5*4+1)/240000 = 2.625 Sekunden benötigen. > > Nach Deinen Messungen sind es aber 4.99 Sekunden. > In diesem Punkt hast Du im Prinzip recht. Ich habe zwar eine For/Next Schleife gemessen, und in der > Berechnung ein Goto verwendet, aber die Messung ist zu lange. Laut Atmel Doku braucht die Portausgabe > einen Taktzyklus. Vielleicht ist das bei denen geschönt. Die 240.000bc/s hab ich mit der Zuweisung > gemessen und nicht mit dem Port Befehl. > > Ich habe aber jetzt langsam keine Zeit mehr für den das "battle'n" von Meßwerten, es kann sein daß wir > bei Portbefehlen auf langsamere Werte kommen. Das hängt sowieso immer von dem benutzen > Kommando ab. Ich werde in nächster Zeit mal schauen, wie ich die einzelnen Bytecodes oder > Library-Aufrufe ausgemessen bekomme. > > Gruss Peter >