Trexis5
03.09.2005, 22:04
Hoffe mir kann einer Helfen.
Habe eine Knifflige Aufgabe.
Ich habe schon ein Programm im Atmel M8 am laufen.
Alle beiden Interrupts sind besetzt.
Dann habe ich an einem Analogeingang eine Fotodiode hängen, die an meinem Auto an der Frontscheibe montiert ist.
Wenn ich nun den Scheibenwischer anmache saust der Wischer an dem Sensor vorbei und dunkelt kurz den Sensor ab.
Ich möchte das nun auswerten, und zwar das wenn innerhalb von 10sec. der Sensor 15mal abgedunkelt wurde mir das gemeldet wird.(Damit möchte ich nicht nur bei Dunkelheit, sondern auch bei Regen das Licht einschalten - man könnte auch ein Kabel legen - wenns so geht wäre es natürlich besser.)
Beide Timer sind auch schon belegt, also geht das mit dem Zähler auch nicht.
Ich dachte mir das ich alle ca.0,3sec. (das wäre mit einem Timer0 und eingestelltem Prescale locker machbar) den momentanen Wert Speichere, dann wieder 0,3sec. warte und dann die beiden vergleiche.
Sind die ungefähr gleich passiert nix, sind die um mindestens 80 Incremente unterschiedlich Zähle ich mittels Gosub und Incr eines hoch, lösche wieder den Wert usw ... und nach 10sec. mache ich den Zählerstand auf 0.
Würde das gehen, bzw. braucht das viel Rechenleistung oder ist das voller Blödsinn?
Danke.
Habe eine Knifflige Aufgabe.
Ich habe schon ein Programm im Atmel M8 am laufen.
Alle beiden Interrupts sind besetzt.
Dann habe ich an einem Analogeingang eine Fotodiode hängen, die an meinem Auto an der Frontscheibe montiert ist.
Wenn ich nun den Scheibenwischer anmache saust der Wischer an dem Sensor vorbei und dunkelt kurz den Sensor ab.
Ich möchte das nun auswerten, und zwar das wenn innerhalb von 10sec. der Sensor 15mal abgedunkelt wurde mir das gemeldet wird.(Damit möchte ich nicht nur bei Dunkelheit, sondern auch bei Regen das Licht einschalten - man könnte auch ein Kabel legen - wenns so geht wäre es natürlich besser.)
Beide Timer sind auch schon belegt, also geht das mit dem Zähler auch nicht.
Ich dachte mir das ich alle ca.0,3sec. (das wäre mit einem Timer0 und eingestelltem Prescale locker machbar) den momentanen Wert Speichere, dann wieder 0,3sec. warte und dann die beiden vergleiche.
Sind die ungefähr gleich passiert nix, sind die um mindestens 80 Incremente unterschiedlich Zähle ich mittels Gosub und Incr eines hoch, lösche wieder den Wert usw ... und nach 10sec. mache ich den Zählerstand auf 0.
Würde das gehen, bzw. braucht das viel Rechenleistung oder ist das voller Blödsinn?
Danke.