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 > > > > > Hallo > > > > > > > > > > ich bin leider noch unerfahren was die Programmierung der Mega 128 angeht, > > > > > da ich sie erst bestellt habe und sie mir erst noch in den Nächsten Tagen zugestellt werden muss. > > > > > > > > > > Habe zwar schon vor ein paar jahren mit der BASIC 1 erfolgreich dinge erledigt, > > > > > aber irgendwann ging sie Kaputt und nun ist ein neues Projekt da, wo ich mich für die Mega 128 entschieden habe. > > > > > > > > > > Kurz um, habe ich mir die IDE (2.13.0.15 Heruntergeladen und installiert) > > > > > um schonmal vorab das eine oder andere an der IDE kennen zu lernen ect. p.p. > > > > > > > > > > Jetzt zu mein Problem. > > > > > > > > > > Ich möchte gern eine Zeitmessung vornehmen können, die Genauigkeit auf 100ms wäre schön, > > > > > aber im zweifel reicht auch erst einmal sekunden genau. > > > > > > > > > > Um die Messung zu Starten wird ein Schalter wohl der Startknopf werden. > > > > > > > > > > Um die Messung zu stoppen, muss ein 2. Schalter her.... > > > > > Da ich 2 Zeiten benötige (Wettrennen sozusagen) wird noch ein 3. Schalter benötigt. > > > > > > > > > > (Die Anschluss geschichte selbst ist hier weniger das Problem....) > > > > > > > > > > Nun gibt es bei der Mega 128 wohl 3 timer wobei timer_0 wohl nicht benutzt werden darf, > > > > > da ihn die Mega128 selbst benötigt... > > > > > > > > > > Ok also bleiben noch 2 Timer.... > > > > > > > > > > aber irgendwie versteh ich das ganze nicht wirklich... > > > > > > > > > > Vorteiler???? Was ist das, was bewirkt das genau, warum muss dieser gesetzt / eingestellt werden? > > > > > > > > > > wie erfasse ich nun am besten die beiden Kurzzeitigen StopSignale > > > > > (Kurzzeitig = weniger als 0,5 Sek) zuverlässig. > > > > > > > > > > Und Wie bekomme ich am ende die Zeit angezeigt? > > > > > Klar per LCD aber ich mein woher bekomme ich die Verbrauchte Zeit vom Start bis zum Stop1Signal > > > > > bzw. Stop2Signal? > > > > > > > > > > Tut mir leid wenn ich damit nicht (noch nicht) klar komme, > > > > > aber da das ganze bei der M128 für mich Neuland ist, muss ich mich damit erst einmal zurecht Fummeln. > > > > > > > > > > Kurz nochmal: > > > > > 1. Startknopf (Rennen beginnt) bei 00:00.00 (mm:ss.hs) > > > > > 2. StopKnopf 1 Zeit ermitteln für ersten (01:28.54) 1m 28s 54hs > > > > > 3. Stopknopf 2 Zeit ermitteln für zweiten (01:29.34) 1m 29s 34hs > > > > > > > > > > Ich wäre für sachdienliche Hinweise zur Festsetzung der Zeiterfassung dankbar. > > > > > > > > > > > > > > Hallo Jürgen, > > > > zunächst mal zum Vorteiler: Damit man mit dem Timer Zeiten messen kann, muss er in einem > > > > gleichmässigen Zeitraster hochgezählt werden. Am einfachsten verwendet man dafür den Systemtakt. > > > > Das sind bei der Mega128 14,7456MHz. Wenn man die direkt auf den Timer gibt, kann mann zwar > > > > mit sehr hoher Auflösung messen, aber nur sehr kurze Zeiten, denn ein 8-Bit bzw 16-Bit > > > > Zähler läuft da schon nach ca. 17,4µs bzw 4,44ms über. Um größere Zeiträume messen zu können, wird > > > > der Timer nur z.B. jeden 256. oder 1024. Takt erhöht. Genau dass erledigt der Vorteiler. Dann kann > > > > man auch längere Zeiträume messen, hat allerdings nicht mehr eine so hohe Auflösung. > > > > Für Deine Anforderung würde ich aber gar keinen Timer direkt verwenden. Die Bibliothek bietet > > > > einen Interrupt, der alle 10ms aufgerufen wird. Nachzulesen in der Hilfe unter > > > > Bibliotheken->Interrupt->IRQ Beispiel. Wenn Du in der IRQ-Routine eine Variable incrementierst > > > > kannst Du damit im 10ms Raster Zeiten messen. > > > > In der Hauptschleife die Variable beim Drücken des Startknopfes zu 0 setzen und mit den Stop- > > > > Knöpfen auslesen. Du kannst in der Interruptroutine auch mit mehreren Variablen für ms, sec, min > > > > arbeiten, die du entsprechend incrementierst, dann sparst Du dir das Umrechnen für die Anzeige. > > > > Gruß > > > > Franz-Peter > > > > > > > > > > Hallo Franz-Peter, > > > > > > vielen Dank für deine Erklärung hinsichtlich der/des Vorteilers. > > > Das hab ich jetzt auch soweit verstanden. > > > > > > Ja die IRQ Sache hatte ich schon gesehen in der Hilfe, hatte sie aber wohl falsch verstanden, > > > da ich irgendwie davon aufging das dies mit einem IRQ Pin im Zusammenhang läge. > > > In diesem Falle weiß ich dann schon wie ich das erledige. > > > > > > Eine Frage hätte ich noch... > > > > > > Wird die IRQ-Routine auch bei ABSDelay Verwendung in 10ms Takt angesprochen? > > > Hab leider nur den Hinweiss gefunden das während der > > > Abarbeitung des IRQ's das MultiThreading ausgesetzt wird. > > > > > > Vielen Dank nochmals > > > > > > Gruß Jürgen > > > > Hallo Jürgen, > > ja - gute Frage, mit dem ABSDelay bin ich mir nicht sicher. Ich verwende den Befehl aber gar nicht, > > sondern mache alle Zeitverzögerungen über den 10ms IRQ. Neben deiner Stoppuhr kannst Du ja auch > > noch weitere Zeitvariable dort verwalten. Für den Delay z.B. > > im IRQ mit einer int-Variablen 'Delay0': > > if ( Delay0 > 0 ) Delay0--; > > in Main dann: > > Delay0= 100; while (Delay0>0); > > ergibt 1s Verzögerung. Vorteil zu ABSDelay ist, dass man während der Wartezeit ( in der while- > > Schleife) gegebenfalls auch noch anderes erledigen kann. Und die Stoppuhr läuft dann ganz sicher > > auch weiter > > > > Gruß > > Franz-Peter > > > Hallo Franz-Peter, > > ja das macht sinn, verwende es in ähnlicher form zum teil in Software im Windows Sektor... > > Na ich schaue mir das ganze nochmal in ruhe an, manchmal muß man eben erst ein Laubblatt > gezeigt bekommen um den Wald zu sehen ;) > > ich Seh in deiner Signatur, du verwendest den ProBot128, ist das Richtig??? > > Hätte da vielleicht ein paar Fragen zu, ich habe ihn nicht, wollte mir ihn aber ggf. zulegen > zu Lehr und Studien zwecke, da ich nach ein "Roboter" möglichkeit suche die mir auf Arbeit > etwas Arbeit abnehmen könnte, Sprich möchte mir meine Arbeit etwas erleichtern > durch Eigenentwicklung. Wäre nur hier jetzt zuviel. würde mich freuen wenn du mich per Mail > ggf. Kontaktieren könntest, damit ich dir, solang es dir recht ist, Fragen stellen kann.... > > Falls du möchtest.... > > Gruß Jürgen