-
-
Erfahrener Benutzer
Robotik Visionär
Hallo Phoenix2k,
na ja, so richtig erzählst Du leider nicht, was Du machen willst. Da muss man sich schon was dazudenken. Hoffentlich ists richtig. Leider hast Du auch nicht geschrieben, welche Lichtschranke das ist. Aber bei der Portangabe in Deiner Zeichnung steht ja offensichtlich alles was Du wissen willst. (6) scheint der Signalausgang der Schranke zu sein. Den klemmst Du an einen Pinn vom Microcontroller, der als externer Interrupt extINTx definierbar ist - beim M32/M16 ist das der PD2 oder der PD3. Dort triggerst Du auf eine Flanke - steigende oder fallende - und holst Dir bei jedem Interrupt das Ereignis in der Interrupt-Service-Routine (ISR) ab, indem Du beispielsweise einen Zähler hochzählst. In der Hauptroutine kannst Du dann mit einem Signal von einem Timer die verbrauchte Zeit zwischen zwei Interrupts ausrechnen. Natürlich kannst Du Dir die verbrauchte Zeit auch in der ISR abholen - aber es ist eben gut, diese Routinen so kurz wie möglich zu halten.
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen