Zitat Zitat von drucker
von deinem programm versteh ich nicht mal die hälfte da werd ich wol noch lange brauchen um dahin zu kommen ich glaube ich sollte erst mal nur einfach spielen mit der materie die summe meiner arbeit siehst du hier'von 0 auf ein bischen funktionieren ? und alles irgendwo zusammengebraut.
Hmm .. schade. Dachte eigentlich, das Programm wäre genug Auskommentiert. Noch mehr wäre "overkill".
Gut, probieren wir es anders. So schnell geben wir nicht auf

Der einzige Befehl, der eigentlich relevant ist, ist "Pulsein Rc , Pinb , 0 , 1"
Dieser Befehl sagt Bascom, daß Du einen Puls auf Port B, Pin 0, bei steigender Flanke messen willst (in meinem Beispiel) und diesen Wert dann der Variablen "RC" übergibt.
Bascom wartet nun auf einen Puls, misst den und gibt der Variablen "Rc" den gemessenen Wert.
Je nach Wert von Rc kannst Du jetzt bequem verzweigen.
Wie sich der Wert zusammensetzt kannst Du in der Bascom-Hilfe lesen.
Warum Du unbedingt einen Timer dafür "verschleudern" willst ist mir zwar ein Rätsel, aber kannst Du natürlich auch machen:
Code:
Pulsein Rc , Pinb , 0 , 1
If Rc<100 then               ' Angenommen, der Wert 100 sind 1,8 ms Pulsdauer
      Start Timer0
End If
Die andere Möglichkeit wäre:
Code:
Config Timer1 = Counter , Edge = Rising , Capture Edge = Rising , Prescale = 1024
Damit "verschenkst" Du aber den wertvollen 16-Bit-Timer für so eine einfache Anwendung und bist auf einen bestimmten Pin des AVR's angewiesen. Habe ich aber selbst noch nie benutzt, da noch nie gebraucht.
Man sollte Sachen nicht unnötig kompliziert machen.

Gruß.
Rainer