Hier hab ich das ganze schon mal erläutert wenn du nix damit anfangen kannst... frag ruhig!
EDIT: nu hab ich doch glatt den Link vergessen... https://www.roboternetz.de/phpBB2/viewtopic.php?p=16835
Martin
Hallo,
ich habe ein Problem mit einer Zeitmessung. Es handelt sich um eine Geschwindigkeitsmessung mittels 2 in einem bestimmten Abstand montierten Lichtschranken. Um die Geschwindigkeit zu errechnen brauche ich die Zeit zwischen dem Auslösen der 1. und dem Auslösen der 2. Lichtschranke. Beide sollen am gleichen Interrupt-Pin des AVR angeschlossen werden. Also müsste die Zeit zwischen 2 Interrupts gemessen werden. Alles was ich bisher in Erfahrung gebracht habe ist dass man hierfür die Interenen Timer verwenden muss. Allerdings komme ich hier nicht weiter da man da irgenwelche Prescaler, Resetwerte... einstellen muss.
Über Hilfe jeglicher Art würde ich mich sehr freuen
Sahra
Hier hab ich das ganze schon mal erläutert wenn du nix damit anfangen kannst... frag ruhig!
EDIT: nu hab ich doch glatt den Link vergessen... https://www.roboternetz.de/phpBB2/viewtopic.php?p=16835
Martin
Linus Torvalds, Entwickler von LinuxIch will Microsoft wirklich nicht zerstören. Das wird nur ein gänzlich unbeabsichtigter Nebeneffekt sein.
Hi x-ryder,
wie du schon vermutet hast kann ich leider damit nichts anfangen da mir irgendwie der Einstieg fehlt. Ich würde einen Code brauchen in dem der Timer beim 1. Interrupt anfängt zu zählen, beim 2. Aufhört und dann die Zeit daraus errechnet wird. Habe dazu weder in der Bascom Hilfe noch beim Googlen was gefunden.
Vielen Dank schon mal für deine bisherige und hoffentlich weitere Hilfe
Wie wäre es hiermit ?
Habe ich schon getestet, funktioniert.
Code:$crystal = 4000000 Config Timer1 = Timer , Prescale = 64 '4MHz/64 = 62500 Const Timer_start = 6250 'alle 100ms Überlauf Load Timer1 , Timer_start Enable Timer1 On Timer1 Int_1 Do wenn Lichtschranke 1, dann Takt = 0 wenn Lichtschranke 2, dann Wert = Takt in 1/100 Sek Loop Int_1: Load Timer1 , Timer_start Incr Takt Return
Lesezeichen