Hallo zusammen, ich bin Neuling auf dem Gebiet der Mikrocontrollerprogrammierung und bastele gerade mit einem Lichtsensor herum. Dieser gibt mir je nach Lichtintensität ein Rechtecksignal mit bestimmter Frequenz heraus. Nun zu meinem Problem, die generelle Auswertung funktioniert wie sie soll. Zusätzlich findet alle 10ms eine Kommunikation mit einem Funkmodul statt. Während dieser Zeit ist der "Externe Interrupt" ausgeschaltet. Beides zusammen funktioniert bis zu einer gewissen Lichtstärke bzw. Frequenz. Wenn ich den Sensor jedoch direkt in die Sonne halte, erhöht sich die Frequenz so stark dass das ganze Timing der Funkübertragung abbricht. Und das obwohl ich den Interrupt während der Funkgeschichte ausschalte. Woran kann das liegen. Gibt es da eine Art Buffer am "externen Interrupt, der eine gewisse Anzahl der Ereignisse speichert?
Tim schrieb: > Woran kann das liegen. Gibt es da eine Art Buffer am "externen > Interrupt, der eine gewisse Anzahl der Ereignisse speichert? ja gibt es, seht auch im Datenblatt. Es wird genau 1 event ja interrupt gepspeichert.
Tim schrieb: > Dieser gibt mir je nach > Lichtintensität ein Rechtecksignal mit bestimmter Frequenz heraus. Zum zählen der Pulse kann man einen Timer nehmen, der seinen Takt aus einem Inputcapture-Pin bezieht. Gruß Oliver
Hi >Zum zählen der Pulse kann man einen Timer nehmen, der seinen Takt aus >einem Inputcapture-Pin bezieht. Fast richtig. Extern wird ein Timer über das Tx-Pin getaktet. Über den ICP-Pin kann die Periodendauer eines Signals ausgewertet werden. MfG Spess
spess53 schrieb: > Fast richtig. Extern wird ein Timer über das Tx-Pin getaktet. Über den > ICP-Pin kann die Periodendauer eines Signals ausgewertet werden. Da hätte ich mal richtig ins Datenblatt schauen sollen. :) Gruß Oliver
Oliver J. schrieb: > Da hätte ich mal richtig ins Datenblatt schauen sollen. :) Zum Thema Datenblatt: Schaut doch mal ins Kapitel "17.0.3 External clock source". Das könnte die Lösung für das beschriebene Problem sein. Damit kann man die Rechteck-Impulse zählen, ohne einen Interrupt zu verwenden.
Hi >Damit kann man die Rechteck-Impulse zählen, ohne einen Interrupt zu >verwenden. Kann man schon mit Interrupt machen. Aber nicht mit Externen/ PinChange Interrupt. MfG Spess
Tim schrieb: > Wenn ich den Sensor jedoch direkt in die Sonne halte, erhöht > sich die Frequenz so stark dass das ganze Timing der Funkübertragung > abbricht. Was ist das denn für ein Lichtsensor? Um welche Frequenz geht es, rattert das Ding bei Tageslicht mit mehreren kHz? > Und das obwohl ich den Interrupt während der Funkgeschichte > ausschalte. Kann nicht sein, da stimmt was nicht.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.