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 >